WCSF vs MEF,什么对我最好?

时间:2010-04-07 11:30:47

标签: .net mef wcsf

我正在开发一个包含许多模块(CRM,库存,管理等)的大型Web应用程序。我想要完成的是能够独立开发这些模块(UI,Core Logic,DataAccess Logic和所有模块)然后将它们全部集成到一个核心模块中(此集成应该只是配置文件中的更改)。例如,如果我有一个名为Host的核心模块,我应该可以通过简单地将此行添加到主机的配置文件中来将CRM模块添加到主机模块:

< module name =“CRM”/>

我在WCSF上做了一些阅读,发现它可以帮助将一些模块集成在一起,但它在集成这些UI元素方面确实没有提供太多帮助。
有些朋友建议MEF担任这项工作,但我还没有看过。
你们有什么感想?
是否有可能实现这种级别的模块化,以及我需要投入多少工作才能使其正常工作?

2 个答案:

答案 0 :(得分:1)

这就是MEF所做的事情,并且当它成为.NET 4中BCL的一部分时,我会明确地遵循它(注意它也可以在.NET 3.5 SP1的开源形式中使用)。

但是,不要指望任何工具能够让您神奇地开发松散耦合的代码。它首先是一个设计学科。您还可以使用常见的依赖注入和附加模式编写模块化应用程序,只使用裸机BCL(尽管DI容器会有所帮助)。

答案 1 :(得分:1)

当我读到这个问题时,我认为:出于多种原因,我会选择MEF并避免使用SCSF

  • MEF的重量非常轻,尤其是对WCSF
  • WCSF有很多要求开始
  • WCSF将不必要的复杂功能添加到典型操作中
  • MEF有许多选择模块
  • Glen Block(MEF的父亲)摇滚!
  • Glen总是让MEF更好,同时“更轻松”,“更强大”。
  • MONO伙计们也尝试使用MEF
  • WCSF是WF 1(不是WF 4,它不是关于最近的,而是WF 1中的许多问题)

然而,这一切都不算数。 WCSF和MEF不同。这个论点对我来说听起来不正常。

对于你所追求的东西,例如WCSF就是为了这个。 MEF用于每个模块内部的功能,例如,如果它更好。

你进入MVC吗?您是否考虑过MVC 2.0(现在的RTM)区域功能?

修改 见这5部分系列: http://blogs.msdn.com/simonince/archive/2008/06/19/wcsf-application-architecture-5-defining-modules.aspx

<强> EDIT2 这个链接在IoC(看起来像你看MEF)和WCSF之间进行了很多讨论: http://theniceweb.com/?cat=45