手把手教你做产品,手把手教你用“DDD”的思维构建产品架构|附详细案例

编辑导语:逻辑思维对于构建产品架构十分重要,产品架构设计是一个系统化的大工程,对于个人能力也有一定的要求,本篇文章作者分享了用“DDD”的思维来构建产品架构,结合作者的设计理念总结出了一套完整的方法论,一起来学习一下吧,希望对你有帮助。

手把手教你做产品,手把手教你用“DDD”的思维构建产品架构|附详细案例三、两个【思维】

找到了核心链路,接下来就是利用“分解思维”对核心链路进行梳理,并利用“聚合思维”对系统进行构建。

1. 分解思维——6W2H

通过第一步,我们找到了与系统相关的、最直接的输入和输出实体,接下来就是分析实体与实体、实体与系统之间的联系。最全面且有效的方法就是6W2H:

手把手教你做产品,手把手教你用“DDD”的思维构建产品架构|附详细案例

2)分解输出

对于输出的分解思路会有少许不一样:我们要发散思维,思考它到哪去,如何去、如何扩大输出等。

what(属性):考试模式、考试时间、考试公告;who(谁参与输入):学校负责人;when(什么时候输入):考试前;where(到哪去):考场。

同样对找出的实体用相同方法进行再分解:

手把手教你做产品,手把手教你用“DDD”的思维构建产品架构|附详细案例

至此,我们已经有了一个非常庞大的包含各角色、各事物及信息流转方向的对象关联画布。

手把手教你做产品,手把手教你用“DDD”的思维构建产品架构|附详细案例3. 分解思维——界限上下文

在DDD中,对界限上下文的定义是:动态的业务流程被边界静态切分的产物。可以简单理解为再次利用分解思维把每个子域内涉及到的模块分解出来(此处不一一举例)。

手把手教你做产品,手把手教你用“DDD”的思维构建产品架构|附详细案例

同样在安全性上,除了要保证基本的数据安全、网络安全,产品经理还要做一些提升安全性的设计,如二次认证、CA加密、二级密码等。

手把手教你做产品,手把手教你用“DDD”的思维构建产品架构|附详细案例五、四个【层次】

至此,我们已经将整个业务划分出了多个领域(系统/模块),接下来就是纵向地对层次进行划分。

手把手教你做产品,手把手教你用“DDD”的思维构建产品架构|附详细案例

这里先介绍一下产品层面的三层架构(虽不是但源于技术层面):

表示层:与用户直接接触的软件和硬件形态业务逻辑层:通过上述步骤划分出来的各领域模块数据层:使用到的数据库和数据服务

这种架构本身没有什么问题,但是如果站在更高的视角看整个产品矩阵,你会发现随着业务场景越来越复杂,每条业务线都会变得非常臃肿,并且业务线与业务线之间会存在重复造轮子的情况。

比如公司要做一个企业培训的新业务,其中题库、试卷模块可以完全复用考试系统(类似于技术开发中的“组件”“中台”概念),但在现有三层架构下不好进行抽离。

因此在设计产品架构时,还要根据产品经理的经验,对业务依赖性不高,通用性、复用性较强的子域单独抽离出来,组成新的一层——通用业务层。

至此,我们将上述步骤得出的结果进行整理,再找设计同事帮忙美化一下,即可得到下图:

手把手教你做产品,手把手教你用“DDD”的思维构建产品架构|附详细案例六、总结一个关键路径:找出核心的输入输出;两个思维:分解出各实体,聚合出各子域;三个完善:考虑稳定性、安全性、第三方服务;四个层次:按表示层、业务逻辑层、通用业务层、数据层划分。

本文由 @产品乱弹 原创发布于人人都是产品经理,未经作者许可,禁止转载。

题图来自Unsplash,基于CC0协议。

公众号:fuyeying88(长按复制)

本文来自:落落,不代表展风网立场!

本文链接:https://zhantianz.com/186993.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。