在DRF业务逻辑实现篇中,提到关于使用Django框架编写业务逻辑的一些局限性以及可能的解决方案。当业务开始扩展的时候,渐渐发现,框架对复杂业务的支持能力明显不足,已经超出了使用service来处理的能力了。
当开始尝试使用DDD来进行模块与架构设计时,不仅要理解DDD是什么,同时需要去理解DDD在Django中应用的困难^1
一种有效的方法是,从serializers中封装domail_serializers,用来承担view中的业务逻辑执行,担任一个实体。view作为一个bounded context的存在,绑定多个serializers,完成一个业务逻辑的执行。
显然,DRF已经基于这样的方式实现了,不足之处在于serializers的能力有限,同时,DRF没有强调serializers是一个domain
(先占坑,后续再补充DDD的调研与实践…)