什么时候是向 Java 类添加另一个字段的合适时机?例如,如果我跟踪类的“sum”属性,我应该使用字段来存储当前总和,还是应该在客户端调用 sum() 时将总和相加?
为了澄清问题,
假设我有一个名为 ShoppingList
的类,它有一个名为 getTotalPrice()
的函数,该函数返回特定购物 list 上的总价;它还具有函数 addItem()
和 removeItem()
,这将修改此列表中的购物项目对象(这些对象有一个名为 price
的字段) >).
要实现getTotalPrice
,我应该有另一个字段totalPrice
来跟踪当前总价,还是应该汇总购物 list 中所有商品的价格每当客户端调用 getTotalPrice()
时?
项目可以存储在集合中。
最佳答案
这是一个最佳实践的问题。 “Don't repeat yourself ”——更具体地说是“Single Source of Truth ”——认为信息应该只存储一次。如果可以从其他字段计算总和,则不应将其存储为单独的字段。在实践中,如果计算成本很高,则应该缓存某个字段。但是,如果底层信息可能被更改,从而导致缓存变得不正确,则必须特别小心。
关于java - 最佳 Java 实践 - 何时应在 Java 类中添加字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33108690/