有了区域,我可以轻松地将我的应用程序分解为不同的模块吗?

时间:2011-08-14 22:45:07

标签: c# asp.net asp.net-mvc

假设我正在创建一个我希望打破功能的应用程序,以便我可以打开/关闭功能。

我在考虑这样做:

1. breaking major functionality out using areas
2. all business logic (other than controller logic) but in a seperate assembly
3. have a 'base' assembly that is shared with all other assemblies

所以说我有一个CMS模块,一个电子商务模块等。我会在他们自己的区域有那些,然后有一个单独的CMS组装和电子商务组装。每个程序集都有模块和数据库访问代码以及业务逻辑等。

这是个好主意吗?有没有更好的办法?这有用吗?

2 个答案:

答案 0 :(得分:1)

是的,将这样的应用程序的功能区域分开通常是一个好主意。隔离有助于测试和可维护性。寻找共性并了解它们如何结合在一起也很重要。看看SOLID principles,他们会指导您的设计。该链接中还有一组包设计原则,可以帮助为程序集分配功能。

答案 1 :(得分:0)

是的,但仅这些区域只是解决方案恕我直言的一半。

为了更好的模块化,建议对“可插拔”的Web部件使用独立的组件,这可以通过MvcContrib Portable Areas(在区域和区域上扩展)轻松实现。通过虚拟路径提供程序从嵌入式程序集资源中提供文件。