跳到主要内容

术语

VO应该是View Object

展示用的数据,不管展示方式是网页,还是客户端,还是APP,只要是这个东西是让人看到的,这就叫VO

DTO(Data Transfer Object)数据传输对象

VO和DTO的区别 主要有两个区别 一个是字段不一样,VO根据需要会删减一些字段 另一个是值不一样,VO会根据需要对DTO中的值进行展示业务的解释

dto性别是男 vo 可能变成公子

DO现在主要有两个版本 一个是阿里巴巴的开发手册中的定义 DO( Data Object)这个等同于上面的PO 另一个是在DDD(Domain-Driven Design)领域驱动设计中 DO(Domain Object)这个等同于上面的BO

PO(Persistant Object)持久对象 PO比较好理解 简单说PO就是数据库中的记录,一个PO的数据结构对应着库中表的结构,表中的一条记录就是一个PO对象

BO(Business Object)业务对象 BO就是PO的组合 ddd中 DO

BO和DTO的区别 这两个的区别主要是就是字段的删减 BO对内,为了进行业务计算需要辅助数据,或者是一个业务有多个对外的接口,BO可能会含有很多接口对外所不需要的数据,因此DTO需要在BO的基础上,只要自己需要的数据,然后对外提供 在这个关系上,通常不会有数据内容的变化,内容变化要么在BO内部业务计算的时候完成,要么在解释VO的时候完成

服务和服务之间调用的传输对象能叫DTO吗? 我的理解是看情况 DTO本身的一个隐含的意义是要能够完整的表达一个业务模块的输出 如果服务和服务之间相对独立,那就可以叫DTO 如果服务和服务之间不独立,每个都不是一个完整的业务模块,拆开可能仅仅是因为计算复杂度或者性能的问题,那这就不能够叫做DTO,只能是BO

统一语言通常体现为:

  • 术语表:创建一个术语表,列出所有关键术语及其定义,确保团队成员对每个术语的理解一致。
  • 文档:在需求文档、设计文档和代码注释中使用统一语言。
  • 代码:在代码中使用统一语言命名类、方法、变量等,使得代码易于理解,反映业务逻辑。

DDD的实施过程划分为以下四个阶段

  1. 理解问题域:这个阶段的核心是深入分析业务价值、需求以及构建业务概念模型。产出统一语言和子域划分,确保团队在业务理解上达成共识。

    工具 :事件风暴、四色建模以及用例分析等

  2. 识别限界上下文:在这一阶段,我们通过组织、业务和应用的边界来确定限界上下文,并且明确不同上下文间的关系和交互。

    工具:时序图和接口描述的方法来详细阐述用例

  3. 领域建模:包括领域分析、设计建模,以及模型的持续迭代。这个阶段的目标是构建能够反映业务核心概念和规则的模型。

  4. 模型实现:实现阶段主要依赖于应用分层架构、微服务架构和应用集成,确保领域模型能够在系统中得到有效实施。