我正在开发一个大型的web应用程序,其中包含许多模块(CRM、库存、管理等)。我想要完成的是能够独立开发这些模块中的每个模块( UI、核心逻辑、DataAccess逻辑等等),然后将它们集成到一个核心模块中(这种集成应该只在配置文件中进行更改)。例如,如果我有一个名为Host的核心模块,我应该能够通过简单地将以下行添加到主机的配置文件中来将CRM模块添加到主机模块:
我在WCSF上做了一些阅读,发现它可以帮助将一些模块集成在一起,但在集成这些UI元素方面,它真的没有提供太多帮助。
一些朋友建议MEF担任这项工作,但我还没有考虑过。
你们觉得怎么样?
有可能实现这种级别的模块化吗?我需要投入多少工作才能使其正常工作?
发布于 2010-04-07 19:44:22
这就是MEF所做的,当它从.NET 4开始成为BCL的一部分时,我肯定会这样做(请注意,它也可以在.NET 3.5 SP1的开源形式中获得)。
但是,不要指望任何工具能够让您神奇地开发松散耦合的代码。它首先是一门设计学科。您也可以使用常见的依赖注入和插件模式编写模块化的应用程序,只使用基本的BCL (尽管DI容器会很有帮助)。
发布于 2010-04-07 19:53:40
当我读到这个问题时,我想:我会选择MEF,而不是SCSF,原因有很多
然而,这一切都不算数。WCSF和MEF是不同的。对我来说,这个论点听起来不正常。
例如,对于你所追求的东西,WCSF就是为此而生的。例如,MEF用于每个模块中的功能,如果它更好的话。
你对MVC感兴趣吗?你有没有考虑过MVC 2.0 (RTM now)的特性?
编辑:查看此5部分系列:http://blogs.msdn.com/simonince/archive/2008/06/19/wcsf-application-architecture-5-defining-modules.aspx
Edit2这个链接很好地描述了IoC和WCSF之间的讨论(看起来就是这样):http://theniceweb.com/?cat=45
https://stackoverflow.com/questions/2591990
复制相似问题