zoukankan      html  css  js  c++  java
  • 领域驱动设计常见术语

    DDD : Domain Driven Design 

    CQRS :Command Query Responsibility Seperation(命令查询职责分离)的缩写

                     把查询数据 同程为 Query (查询), 只提供根据聚合的ID 进行查询,查询结果 以DTO 形式返回

                     改变状态叫做 Command (命令)   , 提供Create,Update ,Delete 操作。

    CRUD : (Create, Read, Update, Delete) 增查改删

    ES  :Event Sourcing 缩写,事件溯源

             记录聚合产生的每一个事件,可以根据这些事件来追溯源头。

             例如:一个用户的聚合根,对用户的添加事件,修改名称事件,修改密码事件等,依次保存为3条记录,那么通过这3条记录,就可以查看“用户聚合”每次事件前后的状态变化。

             事件溯源都是以新增的方式保存数据,而通常的通过CUD方式保存的数据,其实是保存的数据最终状态,而在这个最终状态之前究竟发生了什么,其实并不知道。

             事件溯源 ,可以参考 SVN 等代码版本管理工具,通过每次的提交记录,可以查看代码从最终状态到初始状态的变化情况。

    DTO   : (Data Transfer Object)  

                  当我们查询数据时,可能在UI 上显示的,只是领域对象的 少部分 属性字段(或数据),  DTO 对象是领域 对象的投射

    Domain Objects :(领域对象)

    Saga : 长时处理过程 (Long-Running Process)

              自我理解:一个任务设计有多个处理步骤,完成所有步骤可能耗时很长。

  • 相关阅读:
    OneProxy与其它数据库中间件的对比
    防御式编程
    google jam 比赛题(设计有问题)
    Python 代码性能优化技巧
    Python性能鸡汤
    如何避免重构带来的危险
    Linux/Unix工具与正则表达式的POSIX规范
    代码抽象层次2
    chinaunix:腾讯面试题
    C++异常处理小例
  • 原文地址:https://www.cnblogs.com/iampkm/p/4625670.html
Copyright © 2011-2022 走看看