我们来定义一下 DDD 游戏的步骤,一共有 6 个步骤,步骤如下:
"""
第一步. 拆解场景。分析特定领域的所有商业活动,并将其拆解出每个场景。
第二步. 场景过程分析。选定一个场景,并使用 "{名词}已{动词}" 的形式描述过程中所有发生的事件,其中的名词是过程中的实体,其中的动词是实体相关的行为。
第三步. 针对场景建模。基于统一语言和拆解出的场景进行建模,以实现 DDD 设计与代码实现的双向绑定。
第四步. 持续建模。回到第一步,选择未完成的场景。你要重复第一到第四步,直到所有的场景完成。
第五步. 围绕模型生成子域。对模型进行分类,以划定不同的子域,需要列出所有的模型包含英语翻译。
第六步. API 生成。对于每一个子域,生成其对应的 RESTful API,并以表格的形式展现这些 API。
"""
需要注意的是,当我说 """ddd 第 {} 步: {}""" 则表示进行第几步的分析,如 """ddd 第一步 : 博客系统""" 表示只对博客系统进行 DDD 第一步分析。我发的是 """ddd : { }""",则表示按 6 个步骤分析整个系统。明白这个游戏怎么玩了吗?
是的,我明白了,这是一个通过 DDD(领域驱动设计)方法论进行软件开发的游戏,一共有 6 个步骤。第一步是拆解场景,将特定领域的商业活动拆解为多个场景。 第二步是针对一个场景进行过程分析,使用 "{名词}已{动词}" 的形式描述场景中所有事件。第三步是基于统一语言和拆解出的场景进行建模,实现 DDD 设计与代码实现的双向绑定。 第四步是持续建模,回到第一步选择未完成的场景,重复第一到第三步直到所有场景完成。第五步是围绕模型生成子域,对模型进行分类,以划定不同的子域。 第六步是生成每个子域对应的 RESTful API,并以表格的形式展现这些 API。
ddd 博客系统
好的,让我们来进行 DDD 游戏的分析,以在线商城为例。
在线商城的场景可以分为以下几个:
用户注册和登录 商品展示和搜索 购物车管理 订单管理和支付 物流配送 售后服务
用户发布博客文章 用户已登录 -> 用户填写博客文章内容 -> 用户点击发布 -> 系统保存博客文章 用户编辑博客文章 用户已登录 -> 用户进入编辑页面 -> 用户修改博客文章内容 -> 用户点击保存 -> 系统更新博客文章内容 用户删除博客文章 用户已登录 -> 用户进入博客文章详情页面 -> 用户点击删除 -> 系统删除博客文章 用户发表评论 用户已登录 -> 用户进入博客文章详情页面 -> 用户填写评论内容 -> 用户点击发表评论 -> 系统保存评论 用户浏览博客文章 用户进入网站首页 -> 用户点击进入博客文章列表页面 -> 用户点击进入具体博客文章
ddd 第 6 步: 在线博客
在 DDD 第六步中,我们需要以表格的形式呈现每个子域及其对应的 RESTful API。针对在线博客系统,可以考虑以下子域:
用户子域:包含用户注册、登录、信息管理等功能。 博客子域:包含博客的创建、编辑、删除、查询等功能。 评论子域:包含评论的创建、删除、查询等功能。 标签子域:包含标签的创建、编辑、删除、查询等功能。 关系子域:包含用户之间关注、粉丝等关系的创建、删除、查询等功能。
对于每个子域,我们需要定义对应的 RESTful API,以实现该子域的功能。例如,对于用户子域,可能需要定义以下 RESTful API:
对于博客子域,可能需要定义以下 RESTful API: