简介: 技术有疑问?不怕,阿里专家来帮你!欢迎来到阿里云开发者社区特别节目——《我有个问题》,这一款面向全社区开发者的专业讨论栏目,提出你的技术困惑,阿里专家为你解答!诚邀所有开发者一起探讨技术前沿。
你听过DDD吗?关于DDD你了解多少呢?
"领域驱动设计(Domain Drive Design)简称DDD,是2004年Eric Evans提出的一套软件开发的方法论,它改变了传统软件开发工程师针对数据库建模的方式,通过面向领域的思维方式,将要解决的业务概念和业务规则等内容提炼为领域知识,从而降低或隐藏业务复杂性,使系统具有更好的扩展性,以应对复杂多变的现实业务问题。"
本期《我有个问题》邀请到了来自阿里巴巴淘系技术部的架构师、高级技术专家 殷浩老师,为大家解答有关领域驱动(DDD)相关问题,请各位开发者留下你的疑问,一起探讨领域驱动的技术前沿~
嘉宾介绍:殷浩,阿里巴巴淘系技术部的架构师、高级技术专家,日常负责淘系行业线与商家线的整体架构,双11等大促期间兼职大促纵队长、稳定性保障等工作。在日常工作中能引入系统工程方法论来解决业务系统的架构问题,结合DDD、TOGAF等思想设计适合互联网业务的架构规范,建立工具和流程,帮助研发提效、保障业务的稳定发展。殷浩曾获得ArchSummit明星讲师、淘系技术荣誉作者等称号。
参与规则: 即日起,本栏目见过面向所有开发者征集领域驱动的任何有趣的、有料的、前沿性话题,一切关于领域驱动的问题,尽情留言。
● 如何快速学习领域驱动(DDD)?
● 什么样的代码符合领域驱动(DDD)?
● 采用领域驱动的模式对开发流程有什么促进作用?······
欢迎提问,话题不限!截止10月14日24:00,评论区中的走心提问将得到殷浩老师解答哦~
参与奖品: 积极学习奖 5名 参与话题讨论,发布学习笔记/文章至社区,在本回答下留下文章链接,截止10月17日24:00,获得文章感兴趣人数最多的前5位用户将获得积极学习奖——鼠标*1。
积极学习奖参与方式:
殷浩老师您好,十分感谢您能抽空给我们答疑。在领域驱动中很复杂,其中会涉及到的领域概念、业务规则、交互流程太多,需要将领域进行拆分成子域。我想问一下划分子域的划分准则应该怎么设计呢?
正好参与了保险行业的中台数字化转型,也参加了几个DDD的培训,DDD是一种设计思想,它可以同时指导中台业务建模和微服务设计,先利用DDD设计思想设计出领域驱动模型,领域模型划定了微服务的边界,才衍生出微服务,领域模型才是核心。
我的问题是,传统行业中如何使用DDD思想界定领域驱动模型?微服务遵循什么原则拆分最合理呢?拆到多微呢?
老师您好,关于DDD之前也涉猎过,明白它的模型机制,会让开发可以把一些不常用的模型都利用起来,但是对于已经成型的架构体系怎么再把DDD嵌套进去,封装的包会不会受到影响,上生产的稳定性能否保证,领域驱动建模要求对领域模型完整而透彻的了解,只给出一个用例的实现步骤是无法得到领域模型的,这需要和领域专家的充分讨论,而错误的领域模型对项目的危害非常之大,实现一个好的领域模型非常困难,能否降低学习成本,让领域模型更加简易化。
领域驱动DDD,重点是在于统一语言,对于业务、开发等角色成员来讲,这个成本可能是巨大的,个人认为这也是目前没有良好的普及落地的原因。那么,怎么解决这个统一语言,然后能够有效与领导沟通这种巨大的变更,付出该有的代价呢?
通过领域驱动设计,得到了领域模型之后,但是不管是在服务端,很多实体会跨模型,比如前端就是需要一个列表,会设计好几个模型,如果采用领域模型去适配,就显得非常实例,还不如直接把几张表关联起来,查询得到结果,请问DDD在面对这种场景下,该如何去设计?
殷浩老师您好,十分感谢您能抽空给我们答疑。在领域驱动中,如果一个领域很复杂,其中会涉及到的领域概念、业务规则、交互流程太多,需要将领域进行拆分成子域。我想问一下该如何划分子域呢?有什么条件需要我们遵循的,划分准则应该怎么设计呢?
殷老师您好,看完您的个人介绍,我很崇拜您,也很荣幸能够跟您交流互动。DDD在2004年已经由Eric Evans提出来了,而且DDD是一种拆解、划分、确定业务边界的方法,它更是一种高度复杂的领域设计思想,那么问题来了,我想咨询一下在一般的中小型公司里面,该怎么正确的运用DDD,正如一些开发者所说:微小型公司就不能拥有自己的规范体系么?微小型公司就真的不适用DDD吗?请殷老师讲一下DDD在普通公司里常见的适用场景,谢谢!
殷浩老师,项目最初没有使用DDD,随着项目的需求增加和变化,复杂度和规模都达到了DDD的要求,这个时候要怎么进行演化?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。