微服务化与DDD—分层架构、洋葱架构、六边形架构 架构设计
1.0 DDD分层架构
分层架构,每一层,只与自己下一层发生耦合,类似于网络的7层或TCP/IP的4层模型架构,每一层各司其职,并且只关心向下一层的实现,而不会出现各层耦合。
2.0 洋葱架构
同心圆代表软件的不同部分,从里向外依次是领域模型,领域服务,应用服务和外层的基础设施和用户终端。
洋葱架构根据依赖原则,定义了各层的依赖关系,越往里依赖程度越低,代码级别越高,越是核心能力。外圆代码依赖只能指向内圆,内圆不需要知道外圆的情况,这种架构也是典型的分层架构,和DDD分层架构一样,都体现了高内聚,低耦合的设计特性。洋葱架构也常作为指导微服务设计的重要架构之一。
3.0 六边形架构
层级 | 作用 |
---|---|
外六边形 | 完成外部应用,基础资源等的交互和访问,对于与不同的外部系统交互;外六边形的适配器负责协议转换,保证内六边形业务逻辑的干净 |
内六边形 | 实现应用的核心业务逻辑 |
4.0 DDD分层协作
属性 | 说明 |
---|---|
PO(数据持久化对象) | 与数据库字段映射的数据载体 |
DO(领域对象) | 领域模型核心业务对象的载体,包括实体和值对象 |
DTO(数据传输对象) | 用于前端和微服务交互的数据传输载体 |
微服务化与DDD—分层架构、洋葱架构、六边形架构 架构设计相关推荐
- 巨人大哥聊聊电商微服务体系中分层设计和领域的划分
- 前言 - 比起"高并发.多线程"."分布式CAP.一致性.Paxos"."高可用SLA"等具体的干货技术点,软件体系知识显 ...
- 网易容器云平台的微服务化实践
摘要:网易云容器平台期望能给实施了微服务架构的团队提供完整的解决方案和闭环的用户体验,为此从 2016 年开始,我们容器服务团队内部率先开始进行 dogfooding 实践,看看容器云平台能不能支撑得 ...
- 网易容器云平台的微服务化实践(一)
此文已由作者冯常健授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 摘要:网易云容器平台期望能给实施了微服务架构的团队提供完整的解决方案和闭环的用户体验,为此从 2016 年开 ...
- 基于 Kubernetes 和 Spring Cloud 的微服务化实践
写在前面 网易云容器平台期望能给实施了微服务架构的团队提供完整的解决方案和闭环的用户体验,为此从 2016 年开始,我们容器服务团队内部率先开始进行 dogfooding 实践,看看容器云平台能不能支 ...
- 微服务与DDD简单介绍
首先微服务是一种架构模式,相比较单体架构,微服务架构更独立,能够单独更新和发布.微服务里面的服务仅仅用于某一个特定的业务功能.举个例子,单体架构就想一碗面条,所有模块都在一起,而微服务相当于甜甜圈,模 ...
- DDD—分层架构、洋葱架构、六边形架构
一.DDD分层架构 DDD分层架构中有很重要的依赖原则:每层只能与位于下方的层发生耦合,类似于网络的7层或TCP/IP的4层模型架构,每一层各司其职,并且只关心向下一层的实现,而不会出现各层耦合. D ...
- 这 3 种 DDD 分层架构的模式,你掌握了么?
- 前言 - 在讨论DDD分层架构的模式之前,我们先一起回顾一下DDD和分层架构的相关知识. - DDD 的基本概念 - DDD(Domain DrivenDesign, ...
- DDD分层架构的三种模式
本文来说下DDD分层架构的三种模式 文章目录 概述 DDD 分层架构 模式一:四层架构 模式二:五层架构 模式三:六边形架构 本文小结 概述 在讨论DDD分层架构的模式之前,我们先一起回顾一下DDD和 ...
- 还在搞三层架构?了解下 DDD 分层架构的三种模式吧 !
来源:jianshu.com/p/a775836c7e25 引言 在讨论DDD分层架构的模式之前,我们先一起回顾一下DDD和分层架构的相关知识. DDD DDD(Domain DrivenDesign ...
最新文章
- 【django轻量级框架】一个Github用户检索信息网站(解析和代码)
- ISA Server 2006速战速决实验指南(4)创建元素-内容类型、计划
- ios越狱系统UIGestureRecognizer事件截获问题
- matlab实现频域率滤波,基于Matlab的图像的频域滤波实现及研究.doc
- mysql wb bbu_BBU
- setup the printer on ubuntu for uniofsurrey
- 经纬度坐标转换成px_经纬度坐标转像素坐标
- MongoDB CRUD命令操作
- c#截取两个指定字符串中间的字符串
- LINUX下安装svn客户端
- 金蝶KIS商贸版开发销售出库单、销售订单带商品图片打印单据
- Si4438, Si4432, Sx1278, Sx1276, Sx1212无线数传模块简单介绍
- requests结果显示“请开启JavaScript并刷新该页”,selenium不用cookie解决
- 宕机怎么读?服务器宕机是什么意思?
- VS2017设置透明主题
- 如何下载安装chrome扩展程序
- 基于asp.net综合管理系统源码,三层架构
- 微信小程序搭建新闻列表(跟进上一篇博客案例)
- 淘宝直通车的打法的方法与问题分析
- 2020年最好用的手机是哪一款_2020年华为手机哪一款好用啊