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

优质内容筛选与推荐>>
1、基于linux-2.6.38.8内核的SDIO/wifi驱动分析
2、LazyMan深入解析和实现
3、Oracle如何通过SQL语句获取系统当前日期时间
4、Centos6.5安装LAMP(php6.5+apache2.2+Mysql6.5)
5、Python 实现小数和百分数的相互转换


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号