Edison's Studio.

Django With DDD

Word count: 238Reading time: 1 min
2021/06/15
loading

DRF业务逻辑实现篇中,提到关于使用Django框架编写业务逻辑的一些局限性以及可能的解决方案。当业务开始扩展的时候,渐渐发现,框架对复杂业务的支持能力明显不足,已经超出了使用service来处理的能力了。

当开始尝试使用DDD来进行模块与架构设计时,不仅要理解DDD是什么,同时需要去理解DDD在Django中应用的困难^1

一种有效的方法是,从serializers中封装domail_serializers,用来承担view中的业务逻辑执行,担任一个实体view作为一个bounded context的存在,绑定多个serializers,完成一个业务逻辑的执行。

显然,DRF已经基于这样的方式实现了,不足之处在于serializers的能力有限,同时,DRF没有强调serializers是一个domain

(先占坑,后续再补充DDD的调研与实践…)

CATALOG