第3章 MVC模式

3.2 理解MVC模式

  模型(Model):表示用户使用的数据。

    1.视图模型(View Model),只表示视图和控制器之间传递的数据,比较简单;

    2.领域模型(Domain Model),表示业务领域的数据,以及处理这些数据的操作、转换、规则。

  视图(View):用于把模型的某些部分渲染成用户界面(UI)。

  控制器(Controller):

    1.处理传入的请求;

    2.执行模型上的操作;

    3.选择渲染给用户视图。

  重点:

     在域模型设计阶段,一定要进行仔细的规划和设计:域中的每一个类、属性、操作以及规则等,均要有准确而且明确的术语和含义,术语与符号。

  依赖注入:在运行时把依赖性注入到类的构造器中。

    1.构造器注入,2.设置器注入(属性注入)

    Ninject:

      依赖链解析

      对象生命周期管理

      构造器参数值的配置 

 -----------------------------------------

域驱动开发(DDD):

  模型绑定:一个基于约定的特性,用输入数据自动地填充模型对象。

  模型元数据:给框架描述模型类的定义。自动的将用于模型类的显示或编辑器UI渲染成视图。

  验证:在模型绑定期间执行的,运用了能够被定义为元数据的规则。

  聚合为域模型添加了结构化和精确性,使域模型更容易运用于验证,是进行数据库事务管理和级联删除的合适单元。

        聚合特定实例之外的对象只可以对根实体进行持久化引用,而不是对聚合内部的任何其他对象。

  *   为每个聚合定义独立的数据模型。

存储库(Repository):

   是低层数据库的对象表示。强制使域模型与持久化系统分离。

松耦合(losse Coupling):通过抽象接口来处理应用程序的其他区域。

  注:并不是每个关系都需要用接口来解耦,决策实际上取决于应用程序的复杂程序,需要哪种测试,以及长期维护情况。

依赖注入(DI,Dependency Injection):

  实现给定接口对象的方法,而不直接创建这个实现对象。

单元测试:

  “准备/动作/断言”模式。

  测试环境、执行测试、结果判断

第3 章中主要是单元测试的代码,不做过程分析,只上传源代码!

 源码:http://yunpan.cn/cQerIfSPCHZwT 访问密码 6a33

      

posted @ 2015-06-29 11:18  小居工作室  阅读(235)  评论(0编辑  收藏  举报