1

我想要具有常见事物的接口(但没有实现)的开源程序集,例如日志记录、IoC/DI 等。如果存在这种情况,那么将零碎的东西混合和匹配在一起会更容易,而无需编写太多的胶水代码。

示例:如果存在,我将能够创建一个 asp.net mvc 应用程序并添加任何 ORM、日志记录和 IoC 框架。然后我可以引用带有控制器和模型的第三方程序集,它们会很好地结合在一起。如果我编写自己的接口,我将不得不修改其中的每一个。我不想修改,我要1.投递,2.配置和3.使用!就这么简单,应该不难。

你听说过/使用过/写过这样的东西吗?

4

3 回答 3

1

有一个名为Common Infrastructure Libraries for .NET的项目,看起来与您的要求相似。然而,此时只有一个日志抽象可用。

正如 Mark 建议的那样,定义您自己的界面并不是一件坏事——然后您的界面对您的应用程序和您的用例有意义。如果稍后您发现某个概念/组件的开源通用抽象,您可以重构代码以使用它,或者简单地将其调整为现有接口。

虽然理论上通用抽象是一个好主意 - 现在,对于许多“通用事物”,没有公认的“通用方法”。

于 2009-10-31T04:34:16.467 回答
0

IoC 框架可以使用 CommonServiceLocator 解耦:http: //www.codeplex.com/CommonServiceLocator

于 2010-02-12T14:13:11.037 回答
0

我认为不存在这样的程序集。如果幸运的话,您决定使用的库会定义它们自己的接口,然后它们会实现这些接口——例如实现 IWindsorContainer 接口的 Windsor 容器。

但是,如果您要使用不同的 DI 容器,则不能重用该接口,因为,例如,StructureMap 没有实现 IWindsorContainer。

无论如何,我看不出这样的图书馆有什么意义。您可以在几分钟内编写一个界面。占用开发时间的不是接口,而是实现。

在您自己的应用程序中定义您需要的任何接口——在这种情况下,它们也将更有针对性并且携带更少的冗余,因为您只需要准确定义该应用程序所需的属性和方法。

于 2009-09-07T12:39:32.233 回答