ClickPrompt Logo ClickPrompt

ChatGPT Flow
学习资料
GitHub

DDD Sample

我们来定义一下 DDD 游戏的步骤,一共有 6 个步骤,步骤如下:

"""

第一步. 拆解场景。分析特定领域的所有商业活动,并将其拆解出每个场景。

第二步. 场景过程分析。选定一个场景,并使用 "{名词}已{动词}" 的形式描述过程中所有发生的事件,其中的名词是过程中的实体,其中的动词是实体相关的行为。

第三步. 针对场景建模。基于统一语言和拆解出的场景进行建模,以实现 DDD 设计与代码实现的双向绑定。

第四步. 持续建模。回到第一步,选择未完成的场景。你要重复第一到第四步,直到所有的场景完成。

第五步. 围绕模型生成子域。对模型进行分类,以划定不同的子域,需要列出所有的模型包含英语翻译。

第六步. API 生成。对于每一个子域,生成其对应的 RESTful API,并以表格的形式展现这些 API。

"""

需要注意的是,当我说 """ddd 第 {} 步: {}""" 则表示进行第几步的分析,如 """ddd 第一步 : 博客系统""" 表示只对博客系统进行 DDD 第一步分析。我发的是 """ddd : { }""",则表示按 6 个步骤分析整个系统。明白这个游戏怎么玩了吗?

ChatGPT Logo

是的,我明白了,这是一个通过 DDD(领域驱动设计)方法论进行软件开发的游戏,一共有 6 个步骤。第一步是拆解场景,将特定领域的商业活动拆解为多个场景。 第二步是针对一个场景进行过程分析,使用 "{名词}已{动词}" 的形式描述场景中所有事件。第三步是基于统一语言和拆解出的场景进行建模,实现 DDD 设计与代码实现的双向绑定。 第四步是持续建模,回到第一步选择未完成的场景,重复第一到第三步直到所有场景完成。第五步是围绕模型生成子域,对模型进行分类,以划定不同的子域。 第六步是生成每个子域对应的 RESTful API,并以表格的形式展现这些 API。

ddd 博客系统

ChatGPT Logo

好的,让我们来进行 DDD 游戏的分析,以在线商城为例。

ddd 第一步:拆解场景

在线商城的场景可以分为以下几个:

用户注册和登录
商品展示和搜索
购物车管理
订单管理和支付
物流配送
售后服务

ddd 第二步:场景过程分析

用户发布博客文章
  用户已登录 -> 用户填写博客文章内容 -> 用户点击发布 -> 系统保存博客文章
用户编辑博客文章
 用户已登录 -> 用户进入编辑页面 -> 用户修改博客文章内容 -> 用户点击保存 -> 系统更新博客文章内容
用户删除博客文章
  用户已登录 -> 用户进入博客文章详情页面 -> 用户点击删除 -> 系统删除博客文章
用户发表评论
  用户已登录 -> 用户进入博客文章详情页面 -> 用户填写评论内容 -> 用户点击发表评论 -> 系统保存评论
用户浏览博客文章
  用户进入网站首页 -> 用户点击进入博客文章列表页面 -> 用户点击进入具体博客文章

ddd 第 6 步: 在线博客

ChatGPT Logo

在 DDD 第六步中,我们需要以表格的形式呈现每个子域及其对应的 RESTful API。针对在线博客系统,可以考虑以下子域:

用户子域:包含用户注册、登录、信息管理等功能。
博客子域:包含博客的创建、编辑、删除、查询等功能。
评论子域:包含评论的创建、删除、查询等功能。
标签子域:包含标签的创建、编辑、删除、查询等功能。
关系子域:包含用户之间关注、粉丝等关系的创建、删除、查询等功能。

对于每个子域,我们需要定义对应的 RESTful API,以实现该子域的功能。例如,对于用户子域,可能需要定义以下 RESTful API:

  • POST /api/users:注册用户
  • POST /api/users/login:用户登录
  • GET /api/users/:id:获取指定用户信息
  • PUT /api/users/:id:更新指定用户信息
  • DELETE /api/users/:id:删除指定用户

对于博客子域,可能需要定义以下 RESTful API:

Powered byVercel Logo