-
这是一个基本的微服务+DDD演示例子:
基于 Spring Boot 1.5.6 , Spring Cloud Edgware.SR4 Version
微服务 + DDD,个人觉得应该是首先是从微服务的角度(如何划分微服务)考虑去划分大的业务模块,每一个微服务都应该是一个可以单独部署,各司其职的模块;
微服务实际开发中,也结合DDD的思想去划分所有属于自己的领域。
微服务的划分与落地,其实也应该是以DDD的思想做去指导的,所以无论我们代码结构如何规划,也并非一成不变,应该从实际出发,去思考划分结构的意义。
此例子是对于微服务+DDD反应到实际开发,代码的结构设计上的一种初步的思考与探索,一个样板工程,不应该成为我们对实际DDD思考与设计的限制,本例仅供参考。
-
DDD的结构图:
-
本项目是一个假设已经划分好了业务微服务,设计遵循DDD的架构与角色,代码设计上就分为Infrastructure,Domain,Application,Interfaces,项目结构图如下 :
-
结构说明:
-
Infrastructure层:
基础实施层,向其他层提供通用的技术能力(比如工具类,第三方库类支持,常用基本配置,数据访问底层实现),结构如图:
-
Domain层:
主要负责表达业务概念,业务状态信息和业务规则;是整个系统的核心层,几乎全部的业务逻辑会在该层实现,结构如图:
-
Application层:
相对于领域层,应用层是很薄的一层,应用层定义了软件要完成的任务,要尽量简单。
注: 下图package-info里面所说的对内对外,对程序而言,事实上是从展现层调用应用层,应用层调用领域层,领域层或调用基础实施层。结构如图:
-
Interfaces层:
负责向用户显示信息和解释用户命令,请求应用层以获取用户所需要展现的数据(比如获取首页的商品数据)。结构如图:
-
-
本文参考内容:
[https://www.cnblogs.com/hafiz/p/9388334.html]
[https://blog.csdn.net/k6T9Q8XKs6iIkZPPIFq/article/details/78909897]
[https://www.cnblogs.com/netfocus/archive/2011/10/10/2204949.html]
-
声明:
本文根据自身对微服务和DDD学习和理解,做了一个用SpringCloud搭建的最基本的结构例子。
相关文章
- 微服务+DDD代码结构例子
- WCF入门教程(四)通过Host代码方式来承载服务 一个WCF使用TCP协议进行通协的例子 jquery ajax调用WCF,采用System.ServiceModel.WebHttpBinding System.ServiceModel.WSHttpBinding协议 学习WCF笔记之二 无废话WCF入门教程一[什么是WCF]
- [Java]Hessian客户端和服务端代码例子
- webservice 服务端例子+客户端例子+CXF整合spring服务端测试+生成wsdl文件 +cxf客户端代码自动生成
- 【微信小程序】小程序代码基本组成结构
- 微信服务器中下载文件到本地的实例代码
- seo之google rich-snippets丰富网页摘要结构化数据(微数据)实例代码
- 微信小程序之上传图片(含前后端代码例子)
- 微信公众平台上服务器配置中的token可以用代码获取吗??
- Java微信支付之服务号支付代码示例