说明
1024程序员节快乐呀~今天不讲代码了,来玩点有趣的事吧( ̄~ ̄)。一般我们做后端项目的时候,一般都是使用controller-service-dao这样的方式去分层,那么其中数据的流转和转换一般都没有做过特别的约束,导致我们的项目的各种DO、VO、DTO等混杂在一起,能用,但是代码显得不那么有层次,在如今微服务/云原生越发火热的情境下,如何写出更加漂亮的项目,能够更容易的维护和阅读就显得更加的重要了。今天聊的 领域驱动设计(DDD)可以大概解决我们遇到的后端代码结构问题。(Domain-Driven Design )是由Eric Evans最先提出,目的是对软件所涉及到的领域进行建模,以应对系统规模过大时引起的软件复杂性的问题。
快速开始
那么我们如何具体的使用DDD呢
比如我们的项目结构可以设计成下面的样子(这是我的想法哈,POJO具体的各种XO可能会因个人理解而有所不同)
project
└───src
│ └───main
│ │ └───java
│ │ │ └───cn.yunlingfly.×
│ │ │ │ └───api
│ │ │ │ │ └───controller 控制器
│ │ │ │ │