代码之家  ›  专栏  ›  技术社区  ›  Maslow

MVC与依赖注入

  •  1
  • Maslow  · 技术社区  · 15 年前

    如果考虑到依赖注入,是否有人可以总结或列出每一层中的内容类型,以及MVC类型设计中有哪些层?

    我还没有找到任何干净的图表来帮助我找出在哪里,或者尝试在不写整本书的情况下进行更详细的工作。

    我做Windows窗体应用(包括SQL Server数据库设计)已经3年了,现在是我唯一的工作职责,没有人比我更有经验。我一直在尝试将事物分解成干净的层,尽可能地基于表示、业务和数据库自己来计算。

    但是,根据读取的样本 Dependency Injection in .net 业务逻辑似乎应该是应用程序的核心,具有指向特定数据库实现的独立层。因此,UI进入表示层,控制器只提供一个抽象/映射层,到在模型层允许UI做什么,业务逻辑进入模型层,数据库/Linq to SQL进入数据库层。一切都可以依赖于模型层,但它不应该依赖于任何东西。

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

    • Windows窗体
    • ASP.NET
    • ASP.NET MVC
    • 银光
    • 还有别的吗?

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

    我不讨厌读书,但我已经有很多书要读了(3本在家,1本在工作,3本在订购,1本在大学)。这两种方法都有强烈的支持者,但在总体设计上似乎有冲突。

    2 回复  |  直到 15 年前
        1
  •  2
  •   TrueWill    15 年前

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

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

    我建议阅读设计模式(不要从《四人帮》开始-也许吧 Head First Design Patterns )以及一般设计原则( Clean Code 是个好的开始)。也许其他人可以为学习分层体系结构提供参考。

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

        2
  •  0
  •   orjan    15 年前

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

    无法比较MVC和依赖注入。

    依赖注入通常用于MVC中,以使控制器和视图独立于数据的持久化方式。