使用模块化设计组织良好的ASP.NET应用程序的最佳方法

Shy*_*yju 7 asp.net modularity framework-design

我正在考虑为我们的产品开发考虑一个Web应用程序开发框架.我想构建一个ASP.NET应用程序,其中包含许多子模块.我的要求是:

  1. 该应用程序将是一套不同的模块,如CRM,Bugtracker,库存管理,财务管理等.

  2. 每个模块都应该有自己的DLL.

  3. 一个项目应该是应用程序的外部容器(如框架),并且该项目应该将解决方案中的所有其他模块(类型为Web应用程序)引入外部容器.(有些事我们在HTML中有框架).因此,我们将仅在一天结束时发布外部容器Web应用程序,并通过该方式访问所有其他Web应用程序项目.

我想为每个模块都有单独的DLL,所以当我部署控制整个套件的单个DLL时,我不必担心应用程序崩溃.

我不确定我的想法是否正确.我正在寻找的最终结果是一个维护良好,有组织和模块化的Web应用程序套件.

它是ASP.NET Web表单,而不是MVC.我将使用VS2010进行开发.

这样做的最佳方法是什么?

编辑:

术语外部容器意味着它就像一个母版页,它有各种模块的链接,各种模块并不总是在同一个项目中.它们可以是同一解决方案下的独立项目.而且我的印象是,到一天结束时,我将只发布该项目,它将带来各种模块.

Tan*_*ena 2

我不会说这是“最好的方法”,但我建议查看Dot Net Nuke (DNN) 以获取一些想法。它最初是 Microsoft 分发的旧的“I Buy Spy”入门 Web 项目,用于展示 ASP.NET 项目,并从那里开始腾飞。

编辑:

1.该应用程序将是一套不同的模块,如 CRM、Bugtracker、库存管理、财务管理等。

您可以使用 DNN 来做到这一点。它们在 DNN 和 Drupal 中也称为“模块”。

2.每个模块应该有自己的DLL。

是的,这是个好主意。您会在 DNN 和 Drupal 等多个内容管理系统中看到这种情况。这样,同一网站的所有实现都不需要安装所有模块。

我们有一个重要的网站,用于托管我们收费的“服务即解决方案”应用程序(如果您不是精算师或会计师,您将不会听说过它)。过去几年的首席开发人员使用 DotNetNuke 的早期版本作为模型来重构他被允许更改的应用程序部分。