领域对象依赖注入:提升对象能力与简化设计
1. 实现丰富行为
在合理实现丰富行为时, Order 类需将定价计算委托给单独的类。示例代码如下:
public class Order extends DomainEntity {
private transient PricingStrategy pricingStrategy;
...
public double getTotalPrice() {
return pricingStrategy.getPrice(this);
}
}
这里包含了一个 PricingStrategy 类型的字段,并将其标记为 transient 以避免序列化。对于 getTotalPrice() 方法,它使用该字段调用 getPrice() 方法并传入 this 对象作为参数。此外,还可实现如 getAdjustments() 、 getPossibleAdjustments() 等方法。
初始化 pricingStrategy 字段有以下几种选择:
- 硬编码依赖 :将 pricingStrategy 字段设置为特定类的实例。
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



