我正在开发一个包含许多模块(CRM,库存,管理等)的大型Web应用程序。我想要完成的是能够独立开发这些模块(UI,Core Logic,DataAccess Logic和所有模块)然后将它们全部集成到一个核心模块中(此集成应该只是配置文件中的更改)。例如,如果我有一个名为Host的核心模块,我应该可以通过简单地将此行添加到主机的配置文件中来将CRM模块添加到主机模块:
< module name =“CRM”/>
我在WCSF上做了一些阅读,发现它可以帮助将一些模块集成在一起,但它在集成这些UI元素方面确实没有提供太多帮助。
有些朋友建议MEF担任这项工作,但我还没有看过。
你们有什么感想?
是否有可能实现这种级别的模块化,以及我需要投入多少工作才能使其正常工作?
答案 0 :(得分:1)
这就是MEF所做的事情,并且当它成为.NET 4中BCL的一部分时,我会明确地遵循它(注意它也可以在.NET 3.5 SP1的开源形式中使用)。
但是,不要指望任何工具能够让您神奇地开发松散耦合的代码。它首先是一个设计学科。您还可以使用常见的依赖注入和附加模式编写模块化应用程序,只使用裸机BCL(尽管DI容器会有所帮助)。
答案 1 :(得分:1)
当我读到这个问题时,我认为:出于多种原因,我会选择MEF并避免使用SCSF
然而,这一切都不算数。 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