假设我有一个名为“哈希组件”的组件,其中包含一个名为IHash的服务契约。我有一个需要使用哈希的组件DLL。我们使用Unity创建松耦合系统。
我应该在组件DLL本身中创建Unity容器并解析引用吗?
还是应该在组件DLL构造函数中传递IHash引用,让调用组件DLL的人处理Unity容器和解析IHash?
public myComponentDLL(IHash Hasher) { }
如果我在组件DLL中创建容器并解析它,似乎Unity并没有给我带来太多好处。我认为通过构造函数传递容器会更有益。
除了上述两种方法,是否还有更好的方式?这是一种好的实践吗?