我有一个类(我们称之为MyService
),它在它的构造函数中接受两个依赖项。第一个与问题无关。第二个是PaymentDetails
。PaymentDetails 比 MyService 存在的时间更长,MyService 由工厂创建以处理此特定请求。
在MyService.process()
中,它:
- 对第一个依赖项做一些事情,
- 构造一个
new TransactionDetails()
对象并在其上设置各种东西, - 来电
myPaymentDetails.setTransactionDetails( td );
- 返回一些内容来说明向导中的下一个页面
PaymentDetails
必然有很多方法。它是一个实体样式的对象,当用户逐步浏览一系列大约 5 个页面时,就会在其中构建信息。
困扰我的是,正如我所写的那样,我的服务类依赖于整个PaymentDetails
但只调用一个方法。
这让我很困扰,因为:
- 它将限制重用服务类的能力
- 通过阅读方法签名无法理解真正的依赖关系是什么
我的问题是:
解决此问题的最佳方法是什么,以便我的服务类具有最小的依赖性?