引用.DLL的最佳方式是什么 - 作为普通引用还是作为Web服务?

时间:2010-12-26 02:36:30

标签: .net wcf architecture

引用现有.NET dll(类库)的最佳方法是什么?从类库中公开Web服务并参考这些是否有任何好处,而不是引用实际的.dll(虽然Web服务方法的一个好处是粒度,因此在编码时暴露的表面区域由您决定)? / p>

作为一种标准,我考虑的是松耦合。

由于

2 个答案:

答案 0 :(得分:1)

我原本认为引用“正常”通常是你最好的选择。如果这是唯一的选择,我只会引用Web服务。

如果松散耦合是关键驱动因素,那么最好使用依赖注入/ IoC。

答案 1 :(得分:0)

我不相信您正在寻找的Web服务。 Web服务不是一种全面的解耦工具,不应该用作一个。

首先,我要说在引用现有.NET类库之前要做的第一件事就是问问自己,如果直接访问它,你会冒多大的风险?或者,如果此库的API /功能发生变化,我将不得不做什么?

如果您正在引用System.dll,那么您知道它不会改变(除了.NET Framework升级),我建议直接引用它。这里没有真正的风险。如果引用的库非常可疑或经常更改,那么您希望保护您的使用库不依赖于它。

有许多不同的方法可以将库与您正在使用的库分离。正如Adrian K所提到的,依赖注入和控制反转是一个很好的起点。它们也可能有点过分,Adapter pattern的简单应用就足够了。这实际上取决于具体情况。