【发布时间】:2011-09-30 13:47:07
【问题描述】:
假设我有一个使用名为 IHash 的服务合同调用的哈希组件。我有一个需要使用散列的组件 DLL。我们使用 Unity 来创建一个松散耦合的系统。
我应该创建 Unity 容器并解析组件 DLL 本身中的引用吗?
或者我应该在组件DLL构造器中传递一个IHash引用,让组件DLL的调用者处理Unity容器并解析IHash。
public myComponentDLL(IHash Hasher) { }
如果我创建容器并在组件 DLL 中解析它,Unity 似乎并没有给我买太多。我看到在构造函数中传递它有更大的好处。
除了上述两种方法之外,还有更好的方法吗?这是一个好习惯吗?
【问题讨论】:
-
请不要在发布问题一小时后将答案标记为已接受。关于这个话题我有很多话要说,但是看到已经接受的答案并不能激励我写下另一个答案——毕竟,显然你已经有了答案,或者至少已经有了让你满意的答案。
-
@Sander 我没有标记,因为这表明相当新。
标签: c# design-patterns unity-container ioc-container