DDD 不是一种架构, 而是一种架构方法论, 目的就是将复杂问题领域简单化, 帮助我们设计出清晰的领域和边界, 可以很好的实现技术架构的演进。

DDD涵盖两部分:战略设计部分、战术设计。
战略设计从业务视角出发,建立业务领域模型,划分领域边界,建立通用语言的限界上下文,限界上下文可以作为微服务设计的参考边界。
战术设计从技术视角出发,侧重于领域模型的技术实现,完成软件开发和落地,包括:聚合根、实体、值对象、领域服务、应用服务和资源库等代码逻辑的设计和实现。
DDD 看似复杂,学习起来并不困难,但是想要快速掌握 DDD 亦有很多挑战!
微服务并没有一个明确的官方定义,它可以解释为一种架构编程思维,更多地被描述为一种架构风格。微服务架构的概念可以说来源于技术专家多年的工作积累和最佳实践总结,是通过不断发展、演进逐渐形成的。
架构演进论在“技术雷达”里,微服务最早以“Micro-service”,而非“MicroService” 出 现 , 从 架 构 演 进 的 角 度 来 说 , 微 服 务 是 从SOA(Services Oriented Architecture,面向服务架构)发展演进而来的,是更先进的细粒度的SOA实现方式。

微服务与DDD
因为DDD是种软件设计思想和方法,没有强制性的技术手段做保障服务与服务之间的边界,Domain和限界上下文之间的“墙”就很容易被打破,不同的Domian和限界上下文就又混在一起,变成一锅粥了。采用微服务技术,会在实现方式上加一些限制,导致这堵“墙”足够厚实,不容易被打破。就像公司中的部门,虽然能造成部门墙,但也保证了不会把所有的事情都搀和在一起,也是有好处的。比如,现在是真的不允许你去任意修改其他模块的代码和数据库了。
微服务从软件实现说事,没有提供一套方法论来对复杂系统进行分解,从而得到一个个微服务,这个时候就可以用到DDD了。所以,在微服务的书里,基本上都会提到采用DDD的设计方法,微服务的一个特性就是具备Bounded Context,这是赤裸裸的跟DDD“暗送秋波”。

开课吧:微服务与DDD解析相关推荐

  1. 微服务架构深度解析与最佳实践

    微服务架构深度解析与最佳实践 微服务架构的概念,现在对于大家应该都不陌生,无论使用 Apache Dubbo.还是 Spring Cloud,都可以去尝试微服务,把复杂而庞大的业务系统拆分成一些更小粒 ...

  2. 25岁阿里120W年薪架构师推荐学习的750页微服务架构深度解析文档

    前言 当前,微服务架构在国内正处于蓬勃发展的阶段,无论是大型互联网公司还是传统的IT企业,纷纷采用微服务架构构建系统. 在过去几年里,DevOps.云原生.面向演进式架构等理念已经深入人心,围绕微服务 ...

  3. 【架构实践】微服务架构全解析:Scale Cube 横向扩展,垂直扩展,纵向扩展

    目录 微服务架构全解析:Scale Cube 横向扩展,垂直扩展,纵向扩展 前言

  4. 你知道微服务架构深度解析:微服务的主要特性有哪些吗?

    微服务主要特性 粒度更细的服务 微服务架构相比SOA分布式架构强调按业务边界做细粒度的服务拆分.SOA架构使用粗粒度的服务模式来封装业务和技术能力,减少服务交互,但同时带来了业务耦合的复杂性.而微服务 ...

  5. 微服务与DDD简单介绍

    首先微服务是一种架构模式,相比较单体架构,微服务架构更独立,能够单独更新和发布.微服务里面的服务仅仅用于某一个特定的业务功能.举个例子,单体架构就想一碗面条,所有模块都在一起,而微服务相当于甜甜圈,模 ...

  6. 再见了微服务,DDD已成气候!

    前段时间,参加了一场闭门技术交流会,讨论的热点是微服务,话题集中在微服务架构拆分到底应该拆多细. 有微服务的地方就有 DDD(领域驱动设计),不过即便是专业的技术交流会,也没人能给 DDD 的价值下个 ...

  7. 深度好文:Netflix奈飞微服务架构设计解析

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取 来源:22j.co/dz54 1 概述 数年来,Netflix 一直是全球 ...

  8. 微服务架构深度解析与最佳实践-第一部分:微服务发展历程和定义

    微服务架构的概念,现在对于大家应该都不陌生,无论使用 Apache Dubbo.还是 Spring Cloud,都可以去尝试微服务,把复杂而庞大的业务系统拆分成一些更小粒度且独立部署的 Rest 服务 ...

  9. 再见了微服务!DDD 已成气候!

    前段时间,参加了一场闭门技术交流会,讨论的热点是微服务,话题集中在微服务架构拆分到底应该拆多细. 有微服务的地方就有 DDD(领域驱动设计),不过即便是专业的技术交流会,也没人能给 DDD 的价值下个 ...

最新文章

  1. 用Swift实现一款天气预报APP(三)
  2. Access 字段拼接(UPDATE 数据追加)
  3. 如何刪除GitHub中的repository
  4. 易百教程人工智能python修正-人工智能NLTK性别发现器
  5. glibc malloc
  6. 计算机网络系统容错检测,计算机系统的容错技术方法
  7. 新网卡不能绑定“旧”IP故障的解决
  8. qq饥荒联机版服务器没有响应,饥荒联机版专用服务器卡顿原因及解决方法汇总...
  9. 计算机视觉论文-2021-06-21
  10. 11.FreeRTOS学习笔记-内存管理
  11. 一行 Python 代码能实现这么多丧心病狂的功能?
  12. Windows Phone笔记(5)加速计和位置服务(转)
  13. 高铁:繁忙时限制上车补票
  14. 华中师范大学计算机学院在哪个校区,关于《计科,你的力量在哪里?》★华师计算机科学系★研究生情况~~过来人指点下...
  15. 通过UltraISO,写入ISO镜像,制作U盘启动盘
  16. boosting-GBDT算法
  17. 一款你不容错过的Laravel后台管理扩展包 —— Voyager – Laravel学院
  18. 监听enter按键,使其拥有Tab按键的切换功能
  19. linux虚拟网卡修改mac地址,Win10秘笈:两种方式修改网卡物理地址(MAC)
  20. 弘扬岭南画派爱国精神,广州市海珠区文博管理中心等联袂举办爱国名画进校园

热门文章

  1. [转载] Linux+树莓派3开发总结——cx_Freeze打包Python3程序(工程文件)
  2. [CF55D]Beautiful Number 题解
  3. SQL批量更新 关系表更新
  4. 【WPF/WAF】使用System.Windows.Interactivity交互事件
  5. Linux中的的虚拟WEB主机的几点总结
  6. Struts2学习笔记 - Action篇定义逻辑Action
  7. Hadoop源码分析:Hadoop编程思想
  8. CentOS下安装实时检测网络带宽的小工具bmon
  9. Community Server Resources
  10. 浅谈C#ref和out