超过15年的软件开发和设计经验,一直致力于系统复杂性应对之道。前两年负责了生鲜电商平台7Fresh的系统的整体架构设计,对DDD的战略设计和战术设计有丰富的实战经验,最近在探索将战术设计落地为面向对象友好的技术实现,有了一定的收获,愿意和大家去分享。
超过15年的软件开发和设计经验,一直致力于系统复杂性应对之道。前两年负责了生鲜电商平台7Fresh的系统的整体架构设计,对DDD的战略设计和战术设计有丰富的实战经验,最近在探索将战术设计落地为面向对象友好的技术实现,有了一定的收获,愿意和大家去分享。
通常,可以将 DDD 的设计分为 "战略设计/战术设计/技术实现"三个阶段。在这三个阶段里,开发者的参与的程度是递增的。其中,战略设计阶段,是需要众多关键角色集中投入的协作设计过程,其产出结果的质量主要取决于业务专家等角色的知识、经验和能力,以及他们的参与程度和对 DDD 战略设计的思想和工具的掌握程度。而“战术设计阶段”是需要开发者深度参与的,最后的“技术实现阶段”则要完全由开发者来掌控。时至今日,用微服务架构来作为 DDD 的技术实现已经是最合适的选项了。
本次面向那些对 DDD 感兴趣的开发者,分享一些如何做“战术设计”以及用微服务做“技术实现”的经验和最佳实践。
演讲提纲:
1. DDD 概览和不同阶段及产出
2. 子域/限界上下文和微服务的关系
3. 面向对象友好的战术设计和技术实现
4. 重新思考之前的领域模型设计
5. 总结