【领域驱动设计】模式--通用语言(Ubiquitous language)

一.前言

有道无术术可求,有术无道止于术。方法论的形成都是为了让我们能够更高效,系统的解决问题,而不至于遇到问题不知所措。

二.通用语言的必要性

相信大家在实际的软件开发流程过程中,经常会遇到参照 Prd原型 编码出的系统与实际业务角色想要的有差距,而这个差距来源哪里?来自:业务方-产品-技术-测试 整个产品链上的人没有形成统一认知。为了避免且解决这个问题,领域驱动设计中延申出一个角色 -- 领域专家,这个角色实际可能是架构师,可能是高级开发,可能是项目经理,但总归要有人来做这个事情。

三.领域专家需要掌握的要素

3.1 模型和实现的绑定

3.2 建立一种基于模型的语言

3.3 开发一个蕴含丰富知识的模型

3.4 提炼模型

3.5 头脑风暴和实验

具备了这些能力要素能够让领域专家 有效的建模形成统一有价值的模型

四.总结

最终的目的是把 领域模型 作为软件项目沟通和交流的核心。如果语言支离破碎,项目必将遭遇严重问题。

通用语言的词汇包括类和主要操作的名称,术语中则包含明确的规则,还有一些高级组织原则。词和短语的意义反映了模型的定义、概念的定义。

开发人员应该使用基于模型的语言来描述系统中的工件、任务和功能。这个模型应该为开发人员和领域专家提供一种相互交流的语言,而且可以使用这种语言来讨论需求、开发计划和特性。语言使用的越普遍,理解进行得越顺畅。

解决交谈中对定义得模糊不清。需要形成对模型定义的一致理解。

领域模型是解决实际业务的方法论。

五.参考

《领域驱动设计--软件核心复杂性应对之道》

相关推荐
小wanga1 天前
C++知识
java·开发语言·c++
我是渣哥1 天前
Java String vs StringBuilder vs StringBuffer:一个性能优化的探险故事
java·开发语言·jvm·后端·算法·职场和发展·性能优化
工一木子1 天前
深入Java并发:锁机制原理剖析与性能优化实战
java·性能优化·并发·
你我约定有三1 天前
java--写在 try 中的创建连接
java·开发语言
ERP老兵-冷溪虎山1 天前
Python/JS/Go/Java同步学习(第三篇)四语言“切片“对照表: 财务“小南“纸切片术切凭证到崩溃(附源码/截图/参数表/避坑指南/老板沉默术)
java·javascript·python·golang·中医编程·四语言同步学习·职场生存指南
科技树支点1 天前
无GC的Java创新设计思路:作用域引用式自动内存管理
java·python·go·web·编程语言·编译器
码农小伙1 天前
ConcurrentHashMap解析
java·开发语言
WhiteJunior1 天前
Java基础知识点汇总(五)
java·开发语言
晚安里1 天前
JVM相关 4|JVM调优与常见参数(如 -Xms、-Xmx、-XX:+PrintGCDetails) 的必会知识点汇总
java·开发语言·jvm·后端·算法
纪莫1 天前
技术面:Java并发(线程池、ForkJoinPool)
java·java面试⑧股