MVC与依赖注入

时间:2009-10-25 21:09:49

标签: model-view-controller dependency-injection

任何人可以总结或项目符号列出每层中的事物类型,如果考虑依赖注入,MVC类型设计中有哪些层?

我没有找到任何干净的图表,可以帮助我弄清楚在哪里或尝试更详细地阅读整本书。

我已经做了3年的Windows窗体应用程序(包括sql server数据库设计)作为我工作的唯一功能,没有人比我更有经验。我一直试图将事情分解成干净的层次,因为我可以基于演示,业务,数据库自行解决问题。

然而,基于阅读Dependency Injection in .net的示例,业务逻辑似乎应该是应用程序的核心,并且具有指向特定数据库实现的单独层。那么ui进入表示层,控制器只提供一个抽象/映射层到ui在模型层中允许做什么,业务逻辑进入模型层,数据库/ linq-to-sql去在数据库层。一切都取决于模型层,但它应该不依赖于任何东西。

使您能够将心脏从X型移动到:

  • Windows表单
  • Asp.net
  • Asp.net MVC
  • Silverlight的
  • 其他

正确? 4层/项目方法会涵盖这类事吗?我想如果你添加一个TDD层就会是5。

我并不反对阅读书籍,但我有很多东西可以阅读(3个在家,1个在工作,3个订购,1个用于大学)已经非常厚。这两种方法都有响亮的支持者,但似乎在整体设计上存在冲突。

2 个答案:

答案 0 :(得分:2)

我认为你一次试图理解太多。例如,“TDD层”毫无意义。 DI和MVC只是切线相关。 DI没有指定业务逻辑应该在哪个层。

开始简单。一次处理一个概念。在尝试将其应用到任何地方之前,请用一种语言测试您的知识。你的阅读清单上有一些很棒的书;通过其中一些工作。单元测试的艺术将使您对TDD有基本的了解;它也涵盖了依赖注入的实用用法,但并没有深入介绍它。极限编程系列将更详细地介绍TDD。

我建议阅读设计模式(不要从四人帮书开始 - 也许Head First Design Patterns)和一般设计原则(Clean Code是一个好的开始)。也许其他人可以提供有关分层架构学习的参考资料。

期待这需要一段时间。期待在整个职业生涯中继续学习。

答案 1 :(得分:0)

我认为此链接将涵盖您的大部分问题: http://wiki.sharparchitecture.net/SettingUpNorthwind.ashx

无法比较MVC与依赖注入。

在MVC中经常使用依赖注入来使控制器和视图独立于数据的持久性。

相关问题