# edev-java-user **Repository Path**: mooodo/edev-java-user ## Basic Information - **Project Name**: edev-java-user - **Description**: 用户档案管理系统,一个简单的项目演示用DDD做AI编程的过程 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-14 - **Last Updated**: 2026-01-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 用户档案管理系统 这是一个用DDD领域驱动设计为基础,进行AI辅助编程开发的简单示例。 ## 搭建开发环境 ### 搭建AI开发环境 1. 到官网下载trae(https://www.trae.cn/) 2. 建议取消Auto Mode,然后选择合适的模型,如Doubao-seed-code 3. 创建项目目录(如demo-java-user),在trae中用该目录打开 ### 下载DDD开发平台 1. 进入并下载以下代码:https://gitee.com/mooodo/edev-ddd-monolith/tree/1.1.1/ 2. 对edev-ddd-support模块,用maven install进行打包,并发布到本地 ## 使用以下提示词进行AI开发 ### 开发新项目 - 切换到 Builder 模式: ``` 仔细阅读 搭建开发环境规范(java).md ,在当前目录下搭建开发环境: 1. groupId是com.demo.user,artifactId是demo-java-user ``` - 在需求探索的基础上,以用例模型的方式描述需求: ``` 你作为需求分析人员,严格按照 用例模型编写格式.md ,编写用户档案系统的用例模型: 1. 文件放在doc/目录下 2. 功能包括:创建用户、查询用户、修改用户、删除用户 ``` - 确认用例模型的内容后,编写领域模型 ``` 你作为领域驱动设计专家,严格按照 领域模型编写格式.md ,基于 用户档案系统用例模型.md 的业务需求,编写领域模型 ``` - 确认领域模型设计的所有细节后开始编码 ``` 你作为软件开发人员,严格按照 领域驱动开发规范(java).md ,基于 用户档案系统领域模型.md 编写代码 ``` - 以注释的形式对Service的所有方法,编写设计细节 ``` 重新读取 UserService.java ,仔细阅读 DDD开发平台说明书.md ,根据 UserService.java 接口中的注释,编写它的实现类 ``` - 编写查询程序 ``` 你作为软件开发人员,严格按照 领域驱动查询规范(java).md ,为领域对象编写查询程序 ``` - 编写测试程序 ``` 你作为软件测试人员,严格按照 测试用例编写规范(java).md ,根据每个Service接口的注释编写测试用例,但不执行测试 ``` - 在测试程序的保护下,对代码进行优化 ``` UserServiceImpl.java 36-39 将其抽取到getBirthdateByIdentification()方法中 ``` ### 第一次需求变更 - 修改变更时,先修改用例模型,确认变更需求的细节 ``` 严格按照 用例模型编写格式.md ,修改 用户档案系统用例模型.md ,需求如下: 1. 在用户档案中增加用户地址 2. 一个用户可以有多个地址,是一对多关系,并且是聚合关系 3. 地址中包含国家、省份、地市、区县、详细地址等信息 4. 地址信息的维护是在用户信息增删改的过程中进行的,但该操作是可选的,并非必须的 5. 查询用户时同步查询出用户的所有地址 只执行以上操作即可,不要继续往下执行 ``` - 确认用例模型的变更后,进行领域模型的变更 ``` 重新读取 用户档案系统用例模型.md ,严格按照 领域模型编写格式.md ,将以上的需求变更,在 用户档案系统领域模型.md 中进行修改 只执行以上操作即可,不要继续往下执行 ``` - 基于领域模型的变更,进行代码变更 ``` 重新读取 用户档案系统领域模型.md ,严格按照 领域驱动开发规范.md 的要求,对变更的需求进行编码 只执行以上操作即可,不要继续往下执行 ``` - 以注释的形式落实每个变更的设计细节 ``` 重新读取 UserService.java 和 UserServiceImpl.java ,仔细阅读 DDD开发平台说明书.md ,根据 UserService.java 接口中的注释,编写 UserServiceImpl.java 里面的代码 只执行以上操作即可,不要继续往下执行 ``` - 基于以上的变更编写新的测试用例 ``` 你作为软件测试人员,严格按照 测试用例编写规范(java).md ,基于 UserService.java 中的注释,将以上的需求变更,通过新的测试用例编写测试代码,但不执行测试 ``` ### 第二次变更 - 修改变更时,先修改用例模型,确认变更需求的细节 ``` 严格按照 用例模型编写格式.md ,修改 用户档案系统用例模型.md ,需求如下: 1. 为用户增加账户功能,每个用户最多只能申请一个账户 2. 用户可以申请账户,对账户进行充值、扣款、退款、删除账户等操作 3. 用户对账户的所有操作都要写账户日志 只执行以上操作即可,不要继续往下执行 ``` - 确认用例模型的变更后,进行领域模型的变更 ``` 重新读取 用户档案系统用例模型.md ,严格按照 领域模型编写格式.md ,将以上的需求变更,在 用户档案系统领域模型.md 中进行修改 只执行以上操作即可,不要继续往下执行 ``` - 基于领域模型的变更,进行代码变更 ``` 重新读取 用户档案系统领域模型.md ,严格按照 领域驱动开发规范.md 的要求,对变更的需求进行编码 只执行以上操作即可,不要继续往下执行 ``` - 基于以上的变更编写新的测试用例 ``` 你作为软件测试人员,严格按照 测试用例编写规范(java).md ,基于Service服务接口中的注释,将以上的需求变更,通过新的测试用例编写测试代码,但不执行测试 ```