【发布时间】:2009-05-15 16:25:43
【问题描述】:
寻求有关构建模块化 Web 应用程序的框架和方法的建议。
主要目标是尽量减少重新部署的需要,但有时重新部署也可以。
OSGI for Java 似乎是正确的想法,但我需要一个 .NET 实现。
http://www.osgi.org/Main/HomePage Modular web apps
ASP.NET MVC + 呢???
【问题讨论】:
标签: .net asp.net-mvc modularity
寻求有关构建模块化 Web 应用程序的框架和方法的建议。
主要目标是尽量减少重新部署的需要,但有时重新部署也可以。
OSGI for Java 似乎是正确的想法,但我需要一个 .NET 实现。
http://www.osgi.org/Main/HomePage Modular web apps
ASP.NET MVC + 呢???
【问题讨论】:
标签: .net asp.net-mvc modularity
我会使用 ASP.NET MVC + MEF,你可以通过它获得相当的模块化。
【讨论】:
查看领域驱动设计,Eric Evans 关于该主题的书籍是一个很好的资源。
您不需要 ASP.MVC 在 .Net 中构建 MVC 风格的应用程序,但它有助于获得 Microsoft 的支持 :)...
【讨论】:
如果您正在研究 .NET,那么 ASP.NET MVC 几乎绝对是您应该采用的方式。该设计允许您非常清晰地分离应用程序的各种关注点,并对其进行测试。根据您的要求,它可能具有的一个缺点是,任何更改的程序集都必须重新编译和重新部署,因为 ASP.NET MVC 应用程序不是就地编译的(据我所知......)。
但是,由于您已经清楚地分离了您的关注点(对吗?),并在部署之前运行了所有单元测试(对吗?),您可以部署一个已更改的新程序集,并且高度自信地认为它不会破坏任何东西。
如果您对 ASP.NET MVC 感兴趣,我强烈推荐 Scott Hanselman、Scott Guthrie、Rob Conery 和 Phil Haack 的新书 - 第一章(200 页和完整的应用程序教程!)适用于免费在线here
【讨论】:
有很多方法可以做到这一点。每个都有自己的取舍。
一种方法是拥有一个带有虚拟目录的基本主站点。每个虚拟目录都将指向一个完整但相关的应用程序。缺点是您必须在创建 cookie 时指定要使用的基本 url,否则一个应用程序将无法访问另一个应用程序的 cookie。
另一个是通过用户控件创建每个子站点(想想 DNN)。这需要对您的核心应用程序如何公开通用功能进行大量思考和规划。
其他想法通常建立在其中一个之上。
【讨论】: