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

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

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

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

我想知道社区的想法是什么。


让我添加更多信息...

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

有帮助吗?

解决方案

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

其他提示

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

如果您计划只进行用户/手动测试,或者基本上使用,仅从 UI 向下进行测试,那么它并没有真正的区别。

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

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

您仍然应该在逻辑上将层分离到适当的项目中。

无论您是 1 名开发人员还是 100 名开发人员,这都是一个很好的工程实践。将代码集中在一处的缺点是,它会让您重构或重复代码以进行扩展。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top