背景
我来自 ASP.NET 背景的 3 层架构。我直接在图层上使用了单元测试,从未尝试过模拟图层。所有应用程序都是使用 EF Database First 开发的,单独的 POCO 和基础设施项目处理应用程序的管道工作。开发的应用程序是中小型的。
迄今为止的进展
自从我开始学习 ASP.NET MVC 以来,第一个问题是如何为解决方案创建层。在过去的 15 天里,我正在学习和寻找好的架构,以便在这个和未来的 MVC 项目中学习和遵循。我经历了以下架构模式/站点,发现它们对我自己来说太复杂了。一些主要问题
- 继承项目的复杂性,这使得新程序员难以使用
- 锐利的学习曲线
- 每一层都有太多的单元测试来测试冗余行为(次要)
- 开发过程中编译相对较慢
我尝试过的网站/项目
- 夏普架构
- 洋葱架构
- 临近晚餐
- 丝绸项目(微软)
主要困境
- 我发现这些项目中最常见的是存储库模式和依赖注入(IoC)。虽然我没有反对它,但我发现很难维护和理解项目。我已经执行了具有 3 层架构的相当大的项目,具有所谓的“紧密耦合”和足够的单元测试来测试项目。我觉得如果不涉及这些,建筑会更好。
- 非常重视 TDD 和 DDD
- 松耦合的概念很牵强
- 不再关注 MVC 作为模式,而与其他部分一起主导架构
要求MVC 项目的简单、易于理解、可维护的架构
注意:我从 jimmy bogard 的组织 ASP.NET MVC 解决方案中发现了这个很好的实现结构。我仍然会感谢有关此主题的任何建议。