任何人可以总结或项目符号列出每层中的事物类型,如果考虑依赖注入,MVC类型设计中有哪些层?
我没有找到任何干净的图表,可以帮助我弄清楚在哪里或尝试更详细地阅读整本书。
我已经做了3年的Windows窗体应用程序(包括sql server数据库设计)作为我工作的唯一功能,没有人比我更有经验。我一直试图将事情分解成干净的层次,因为我可以基于演示,业务,数据库自行解决问题。
然而,基于阅读Dependency Injection in .net的示例,业务逻辑似乎应该是应用程序的核心,并且具有指向特定数据库实现的单独层。那么ui进入表示层,控制器只提供一个抽象/映射层到ui在模型层中允许做什么,业务逻辑进入模型层,数据库/ linq-to-sql去在数据库层。一切都取决于模型层,但它应该不依赖于任何东西。
使您能够将心脏从X型移动到:
正确? 4层/项目方法会涵盖这类事吗?我想如果你添加一个TDD层就会是5。
我并不反对阅读书籍,但我有很多东西可以阅读(3个在家,1个在工作,3个订购,1个用于大学)已经非常厚。这两种方法都有响亮的支持者,但似乎在整体设计上存在冲突。
答案 0 :(得分:2)
我认为你一次试图理解太多。例如,“TDD层”毫无意义。 DI和MVC只是切线相关。 DI没有指定业务逻辑应该在哪个层。
开始简单。一次处理一个概念。在尝试将其应用到任何地方之前,请用一种语言测试您的知识。你的阅读清单上有一些很棒的书;通过其中一些工作。单元测试的艺术将使您对TDD有基本的了解;它也涵盖了依赖注入的实用用法,但并没有深入介绍它。极限编程系列将更详细地介绍TDD。
我建议阅读设计模式(不要从四人帮书开始 - 也许Head First Design Patterns)和一般设计原则(Clean Code是一个好的开始)。也许其他人可以提供有关分层架构学习的参考资料。
期待这需要一段时间。期待在整个职业生涯中继续学习。
答案 1 :(得分:0)
我认为此链接将涵盖您的大部分问题: http://wiki.sharparchitecture.net/SettingUpNorthwind.ashx
无法比较MVC与依赖注入。
在MVC中经常使用依赖注入来使控制器和视图独立于数据的持久性。