首页 > 其他 > 详细

Domain Driven Design---Domain Primitive

时间:2021-01-26 15:21:27      阅读:29      评论:0      收藏:0      [点我收藏+]

1、what

    1.1、在DDD中,DP 是 一切模型、方法、架构的基础;

        (类似于 编程语言中的 Integer、String...)

    1.2、在一个特定的领域里,拥有 精准定义、可自我验证、拥有行为 value object;

2、原则

    2.1、Make Implicit Concepts Explicit

        (将  隐形的 概念 显性化)

    2.2、Make Implicit Context Explicit

        (将 隐形的 上下文 显性化)

    2.3、Encapsulate Multi-Object Behavior

        (封装 多对象 行为)

3、diff

    3.1、与 Value Object 区别

      value object:

         更多的是一个  非entity的 值对象;

      DP:

        在VO的基础上,要求每个DP拥有概念的整体(不仅仅是 值对象);

        在VO的immutable基础上,增加了Validate 、行为; 

    3.2、与 Data Transfer Object 区别

      技术分享图片

 

 4、when(什么场景使用DP?)

    4.1、有格式限制的String:

        eg:Name、PhoneNumber、OrderNumber...

    4.2、有限制的Integer:

        eg:OrderId(>0)、Percentage(0-100%)...

    4.3、可枚举的int:

        eg:Status...

    4.4、Double或BigDecimal:

        eg:Money、Amount、Rating...

    4.5、复杂的数据结构:

        eg:Map<String,List<Integer>>...尽量将Map的操作包装掉,仅暴露必要行为;  

    

 

Domain Driven Design---Domain Primitive

原文:https://www.cnblogs.com/anpeiyong/p/14330469.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!