我是一个 DI 新手,如果这是错误的方法或愚蠢的问题,请原谅我。
假设我有一个创建/更新订单的表单,并且我知道它需要检索要显示的产品和客户列表。我想传入它正在编辑的 Order 对象,但我也想将 ProductsService 和 CustomersService 作为依赖项注入。
因此,我希望我的 IoC 容器(无论我使用哪个容器)来提供服务,但这取决于调用代码来提供要编辑的 Order 对象。
我是否应该将构造函数声明为将 Order 对象作为第一个参数,然后将 ProductsService 和 CustomersService 声明为,例如:
public OrderForm(Order order, ProductsService prodsSvc, CustomersService custsSvc)
...或者依赖项应该先出现,Order 对象最后,例如:
public OrderForm(ProductsService prodsSvc, CustomersService custsSvc, Order order)
有关系吗?这是否取决于我使用的 IoC 容器?或者,还有更好的方法?