我有一个简单的java对象
public class Order {
private int quantity;
private long price;
private long totalPrice;
}
我将只存储数量和价格,totalPrice 字段将根据数量 * 价格生成。
现在我在 Order 类中有一个名为 populateTotalPrice() 的方法。但似乎我在一个可能是反模式的实体类中放置了一个逻辑?
我的另一个选择是使用辅助静态方法。
对于此类行为,真正的最佳做法是什么?
最佳答案
Java 的做法是根据属性 而非字段来处理对象。大多数属性都基于支持字段,但在您的情况下,属性totalPrice
是一个计算属性 是有意义的:
public long getTotalPrice() {
return price * quantity;
}
关于Java 对象字段值取决于其他字段 - 最佳实践模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65472120/