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

标签 asp.net modularity framework-design

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

  • 该应用程序将是一套不同的模块,如 CRM、Bugtracker、库存管理、财务管理等。
  • 每个模块都应该有自己的 DLL。
  • 一个项目应用于应用程序的外部容器(如框架),并且该项目应将解决方案中的所有其他模块(Web 应用程序类型)引入外部容器。 (比如我们在 HTML 中有框架)。因此,我们将仅在一天结束时发布外部容器 Web 应用程序,所有其他 Web 应用程序项目都将通过它访问。

  • 我希望每个模块都有单独的 DLL,因此当我部署控制整个套件的单个 DLL 时,我不必担心应用程序会中断。

    我不确定我的想法是否朝着正确的方向发展。我正在寻找的最终结果是一个维护良好、组织有序且模块化的 Web 应用程序套件。

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

    执行此操作的最佳方法是什么?

    编辑:

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

    最佳答案

    实际上,我认为最好的方法是不过度架构的方法。我担心您似乎在没有充分理由的情况下制作整体架构。

    这些都是新模块吗?然后开始写第一个。使用适用于单个模块的最佳实践。

    然后写第二个。你会发现你想使用你在第一个模块中已经写过的东西。伟大的。这就是重构的目的。将这些东西重构到一个或多个“库”项目中,重新运行所有单元测试,然后继续第二个模块。

    重复直到完成所有模块。

    在此过程结束时,如果您需要您概述的那种架构,那么您将拥有它。如果您需要更少,那么您将拥有更少,并且您将不会花时间创建与现实世界需求无关的架构。

    关于asp.net - 使用模块化设计组织良好的 ASP.NET 应用程序的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4226714/

    相关文章:

    c++ - 有效维护略有不同(日志记录/非日志记录)的功能

    c++ - 用于模块化 C++ 框架的 CMAKE

    c# - ReSharper 提示成员 "ID"中的大写字母 "EntityID"

    c# - 在 AngularJS 项目中访问 .net Web.Config

    javascript - 包括来自外部 ASP 页面的菜单内容,保持菜单项被选中

    c# - 如何处理服务器上由客户端/javascript 创建的文本框

    c# - 让多个请求等待第一个完成(缓存)

    spring-boot - 尝试模块化 Gradle SpringBoot 项目但在尝试构建时得到 "Error: cannot find symbol"?

    .net - 为什么 Array.Sort() 和 Array.IndexOf() 方法是静态的?

    php - 让所有方法在 PHP 中返回一个 MyResult 对象是好的/常识性编程实践吗?