DDD在产品设计阶段的实践

作者: 后厂村老司机 | 来源:发表于2021-09-10 21:02 被阅读0次

前言

以前,在产品设计阶段后端研发人员参与感较低,多半是PM主导这个过程,当PM产出产品设计文档与需求的时候后端研发人员一般脑子里浮现的是解决当前这个问题需要构建哪些表、表应该包含哪些字段、表与表之间的关系是什么样的,甚至会考虑到哪些数据放到redis里,哪些放到内存里,等这些技术细节。然后,依据这些技术细节来判断这个需求能不能实现、好不好实现、合不合理。那么实践DDD在这方面有什么变化吗?

DDD的产品设计

每一个产品都是为了解决问题域的问题而存在的,DDD要求研发人员将注意力聚焦在领域内发生的问题,然后设计一个模型来解决这些问题。So,Domain First!

领域通用语言

在和客户讨论需求的时候,研发人员一定要参与,并且与客户统一语言,确定领域内的专词术语,比如领域内大家都把User叫做客户,那么所有人在这个领域内就应该都以 客户 这个词来进行后续的沟通。下单 这个术语表示领域内的一个动作,那么以后再描述这个动作的时候就用下单。诸如此类。。

事件风暴

image.png

上面是我们落地DDD时候做的事件风暴
有了领域通用语言之后,我们就要用这些语言进行事件风暴。
所谓事件风暴就是所有人相关人员包括客户,在一起头脑风暴出领域内所发生的所有事件,事件一般以过去时描述,比如订单已下单、订单已删除。然后再在事件的前面加上产生这个事件的动作,如下单、删除订单。标记出这个动作需要遵循的一些规则,比如下单前检查库存,删除前确认订单是否完毕等,这些就是领域逻辑。
经过以上步骤之后标记处领域内的聚合,所谓聚合就是操作相关联的一些事件的主体,比如订单聚合。然后识别出聚合内的实体、值对象等。实体和值对象等战术建模的概念我会在后面的文章讲解。
最后把相关联的一些聚合放到一起,组成一个限界上下文,一般一个限界上下文对应一个服务,这个限界上下文(服务)会解决一个领域内的某个子域的问题。这个限界上下文就是一个大模型,里边由多个聚合小模型。

相关文章

  • DDD在产品设计阶段的实践

    前言 以前,在产品设计阶段后端研发人员参与感较低,多半是PM主导这个过程,当PM产出产品设计文档与需求的时候后端研...

  • DFMA-面向制造和装配的产品设计

    DFMA(Design for Manufacturing and Assembly)是指在产品设计阶段,充分考虑...

  • 2020-05-26

    异常逻辑、极端情况、边界问题、页面细节在产品设计阶段无法100%考虑周全,目前大部分产品经理的做法是在设计阶段尽量...

  • 学习内容

    DDD领域模型设计 OpenResty最佳实践

  • DDD 实践

    背景 从开始接触DDD到现在,也有一段时间了,中间断断续续的阅读了DDD的相关书籍及文章,中间思考了许多问题,不断...

  • 识别领域事件

    随着微服务架构的兴起,微服务设计与拆分的的最佳实践DDD已然成为大家讨论与实践的热点,如何用DDD建模来实现...

  • 识别领域事件

    随着微服务架构的兴起,微服务设计与拆分的的最佳实践DDD已然成为大家讨论与实践的热点,整个行业都在探索如何用DDD...

  • DDD 实战1 - 基础代码模型

    本文首先介绍一下 DDD 代码模型的分层策略,然后介绍一下各层的职责,最后基于 DDD 开发一个订单中心,来实践 ...

  • “基本产品”设计流程

    在产品设计阶段,产品经理的职责是参与产出“基本产品”,具体流程是: 1.与设计师合作设计产品的高保真原型,该原型只...

  • B端产品:场景化需求建模

    在产品设计阶段,为了更准确地理解与描述业务需求,我们可以将各种需求文档进行场景化、具象化的设计与描述,并结合原型界...

网友评论

    本文标题:DDD在产品设计阶段的实践

    本文链接:https://www.haomeiwen.com/subject/vczgwltx.html