【发布时间】:2011-09-25 07:01:09
【问题描述】:
假设有一个 Customer 类和一个实例 Load() 方法。
当Load()方法被调用时,它通过e.g.检索订单详情
var orders = Order.GetAll(customerId, ...);
GetAll()是Order类的静态方法,输入参数是Customer类中定义的字段。
如您所见,Order 是 Customer 类的依赖项,但是,我不能只创建一个 IOrder 并将其注入其中,因为接口不能有静态方法。
因此,问题是如何在这个例子中引入依赖注入?
我不想让GetAll() 成为实例方法,因为它是一个静态方法,需要保持这种状态。
例如,我在设计中使用了实用程序类,其中大部分只包含静态方法。
【问题讨论】:
标签: dependency-injection static-methods