【问题标题】:Should I use multiple assemblies for an isolated ASP.NET web application?我应该为一个独立的 ASP.NET Web 应用程序使用多个程序集吗?
【发布时间】:2010-09-08 16:51:26
【问题描述】:

来自企业 IT 环境,标准总是为每个层、业务逻辑、数据访问创建一个类库项目,有时还为特定类型创建更大的隔离。

现在我正在开发自己的 Web 应用程序项目,我认为没有必要以这种方式隔离我的代码。

我没有多个应用程序需要共享此逻辑或服务启用它。我也没有看到部署方案有任何优势。

我倾向于将所有工件放在一个 Web 应用程序中,并按项目文件夹进行逻辑分隔。

我想知道社区的想法。


让我添加更多信息...

我正在使用 MVC 预览版 5 编写此应用程序,因此框架中继承的关注点分离将支持单元测试。我确实喜欢对所有内容进行测试!

【问题讨论】:

    标签: .net asp.net web-applications coding-style


    【解决方案1】:

    从最简单的事情开始,并在需要时增加复杂性。听起来好像单个组件就可以很好地满足您的情况。但是,请注意不要让 A 层访问 B 层的内部成员而违反这些层。这将使得以后将这些层拉入单独的程序集变得更加困难。

    【讨论】:

      【解决方案2】:

      我想说这取决于您对测试和单元测试的认真程度。

      如果你打算只做用户/手动测试,或者基本上只使用从 UI 向下测试,那么它并没有真正的区别。

      另一方面,如果您打算进行某种单元测试或业务规则验证,那么将您的工作分成不同的程序集绝对是有意义的。

      即使对于较小的个人项目,我也发现这种方法可以让我在项目进行时更轻松。我仍然从同一个解决方案中运行所有内容,只是使用一个用于 UI 的 Web 项目、一个用于业务规则/应用程序逻辑的库以及另一个用于 DAL 的库。

      【讨论】:

        【解决方案3】:

        您仍应将逻辑层分成适当的项目。

        这是一种很好的工程实践,无论您是 1 位开发人员还是 100 位开发人员。将代码集中在一个地方的负面影响是它会让您重构或复制代码以进行扩展。

        【讨论】:

        • 你能举个例子说明我需要根据重构或扩展来拆分代码吗?
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-19
        • 2015-08-12
        • 1970-01-01
        • 2016-08-04
        • 1970-01-01
        • 2015-12-29
        相关资源
        最近更新 更多