假设我有一些Foo类,它具有两个依赖项:an ISerializer<T>和an IFileAccessHandler。
现在,此类还具有其他依赖关系,即功能依赖关系。我不希望任何人在无效状态下实例化此类,因此我还需要在构造函数中传递一个域对象。
但是,当我实际上在创建类Foo时也知道要传递哪个域对象时,如何由IoC处理呢?
我将域对象设置为工厂设置的属性。因此,Factory进行Service Locator调用,以获取具有其依赖关系的正确实例化的“ Foo”类,并进一步使用正确的域对象填充它并返回它。
但这是最好的方法吗?我希望将域对象作为构造函数的一部分,以使其看起来确实需要使用“ Foo”。
有任何想法吗?我在这里想念什么吗?