为了账号安全,请及时绑定邮箱和手机立即绑定

不能结合工厂/ DI

不能结合工厂/ DI

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

3 回答

  • 3 回答
  • 0 关注
  • 572 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信