美文网首页
借助COLA理解DDD领域驱动设计

借助COLA理解DDD领域驱动设计

作者: 舞鹤Roc | 来源:发表于2021-10-12 16:08 被阅读0次

    写在前面

    DDD其实早于微服务架构设计思想,DDD是程序员架构之路上的艺术品,提升架构思维与软实力。

    随着业务和代码的堆积,无论是传统的SSH/SSM,还是现在主流的微服务,都在出现着大批量的代码老化,使得需求难提、代码难读、维护困难、测试困难……

    如今的大厂里也在极力推广DDD,阿里也出了应用架构 COLA

    初步感知

    我们先利用阿里云的Aliyun Java Initializr去创建出一个DDD项目,选择应用架构为COLA,选择DEMO:

    创建COLA项目
    然后获取代码,展示代码结构如下:
    COLA代码结构

    COLA是一种架构思想,是整合了洋葱圈架构、适配器架构、DDD、整洁架构、TMF等架构思想的一种应用架构,我们重点去看domain里的代码,发现很多与我们之前不一样:
    实体与充血模型:实体类里没有Getter和Setter方法,只有构造函数和业务方法,表现业务领域的能力
    仓库与工厂:Metric仓库抽象类(服务的使用指定对应的CODE),其实现类同步继承EntityObject
    隔离外部服务:领域只关注业务,数据支撑交由基础设施

    小总结

    设计领域模型的一般步骤如下:
    根据需求划分出初步的领域和限界上下文,以及上下文之间的关系;
    进一步分析每个上下文内部,识别出哪些是实体,哪些是值对象;
    对实体、值对象进行关联和聚合,划分出聚合的范畴和聚合根;
    为聚合根设计仓储,并思考实体或值对象的创建方式;
    在工程中实践领域模型,并在实践中检验模型的合理性,倒推模型中不足的地方并重构。

    DDD与设计模式:
    实现DDD的时候可以使用大量的设计模式,这其实提升了代码的质量,但是相对的门槛提高。

    相关文章

      网友评论

          本文标题:借助COLA理解DDD领域驱动设计

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