DDD领域类图、领域模型、概念类图的绘制示例

业余杂谈 herman 507浏览
公告:“业余草”微信公众号提供免费CSDN下载服务(只下Java资源),关注业余草微信公众号,添加作者微信:codedq,发送下载链接帮助你免费下载!
本博客日IP超过2000,PV 3000 左右,急需赞助商。
极客时间所有课程通过我的二维码购买后返现24元微信红包,请加博主新的微信号:codedq,之前的微信号好友位已满,备注:返现
受密码保护的文章请关注“业余草”公众号,回复关键字“0”获得密码
所有面试题(java、前端、数据库、springboot等)一网打尽,请关注文末小程序
视频教程免费领

微服务现在是面试者简历上必会出现的词语,而专为解决复杂业务而生的 DDD 也被越来越多的人认可。但是 DDD 一直都缺乏优秀的实践者,我也看了很多 DDD 相关的资料,本文列举一些 DDD 领域类图,供大家参考!

领域类图(领域模型/概念类图)的绘制

1. 领域模型:显示最重要的业务概念和它们之间关系,是真实世界各个事物的表示(现实世界的可视化抽象字典)而不是软件中各构件的表示。(类:表示业务概念,通常只包含重要属性,少甚至不包含操作;关联、泛化:表达概念之间的关系)

Tip: 关于类中到底是否应该有操作(方法),网上的资料说什么的都有,所以自己看情况决定吧,没太大影响。

总而言之:领域模型是描述业务领域(业务实体)的静态结构

2. 根据用例模型建立领域模型:

ATM 取款机用例图

ATM 取款机用例图
ATM业务处理用例图
ATM维护和修理用例图
ATM银行账号领域类图
超市POS领域类图

3. 如何建立概念模型(基本步骤)

A. 发现类和对象:尽可能多的找出概念类(识别方法:概念类分类列表、名词性短语)

a.概念分类列表:人、事物、地点、组织、概念、事件、规则、抽象名词、交易项目、角色、设备、组织结构(对用例进行识别:实体、过程中的信息、角色的输入输出、操作设备等)

b.名词分析法:识别问题域和用例描述中的名词和名词性短语作为候选的概念类和属性,从候选项中,摒弃多余的名词,确定最终的对象(注意是作为类还是属性,类可以是一种标识、状态和行为)

B. 建立类之间的关联(关联、继承、依赖)

关联:类之间的某种语义关系

继承:一般到特殊

依赖:表明一个元素(源元素)的定义或实现依赖另一个元素(被依赖元素)的定义或实现

C. 添加类的重要属性(类的语义完整性、类的作用、问题域相关特性等)

a.语法:可见性 属性名:类型 多重性=默认值{特性表}  

 /  [可见性] 属性名 [:类型] [=初始值]

b.属性类型是简单的数据类型为佳,如果是复杂概念,考虑是否单独作为一个概念类

c.任何属性都不表示外键,即不应该用属性来联系概念类,区别于数据库设计中的外键

参考资料

业余草公众号

最后,欢迎关注我的个人微信公众号:业余草(yyucao)!可加作者微信号1:xmtxtt(5000人已满),微信号2:xttblog(5000人已满),微信号3:codedq(超3800)。备注:“1”,添加博主微信拉你进微信群。备注错误不会同意好友申请。再次感谢您的关注!后续有精彩内容会第一时间发给您!原创文章投稿请发送至532009913@qq.com邮箱。商务合作也可添加作者微信进行联系!

本文原文出处:业余草: » DDD领域类图、领域模型、概念类图的绘制示例