想象一下有一个Customer
类与实例Load()
方法。如何在静态方法中使用依赖注入?
当Load()
方法被调用时,它通过例如检索订单细节。
var orders = Order.GetAll(customerId, ...);
GetAll()
是Order
类的静态方法和输入参数在Customer
类定义的字段。
正如你所看到的,Order
是Customer
类的依赖,但是,我不能只是创建一个IOrder
,并注入它那里接口不能有静态方法。
因此,问题是我怎么能在这个例子中引入依赖注入?
我不想让GetAll()
成为一个实例方法,因为它是一个静态方法,需要保持这种方法。
例如,我在我的设计中使用了实用程序类,其中大部分只包含静态方法。
谢谢,这些存储库类和接口是否会成为数据访问层的一部分?我的订单类是从订单表(使用LINQ to SQL)映射的业务实体。 –
@ user133212它只是您现有功能的包装。所以无论该函数在逻辑上属于分层的地方,我也会把这个包装器。 –