我有一个类(我们称之为
MyService
),它在其构造函数中接受两个依赖项。第一个对于问题并不是很重要。第二个是PaymentDetails
。PaymentDetails的生命周期比MyService更长,由工厂创建以处理此特定请求。
在MyService.process()
中,它:
- 对第一个依赖项进行一些操作,
- 构造一个
new TransactionDetails()
对象并设置各种属性, - 调用
myPaymentDetails.setTransactionDetails(td);
- 返回下一步向导中的哪个页面
PaymentDetails
必须具有许多方法。它是一种实体样式的对象,其中信息随着用户通过约5个页面的系列而建立。
令我困扰的是,按照现有写法,我的服务类取决于整个PaymentDetails
,但只调用了一个单一方法。
这让我感到困扰,因为:
- 它将限制重用服务类的能力
- 通过阅读方法签名,无法理解真正的依赖关系
我的问题是:
最好的方法是什么,以使我的服务类具有最小的依赖关系?