最近在重构过去写过的一些程序,发现过去写的代码虽然具有面向对象的一面,但设计不够好,没有体现出领域模型设计的味道。有一下三点原则没有做好:
1.类的设计不够精准,不能精确的表达出该类所代表的领域模型概念。
2.类与类之间的交互也没有体现出模型的交互,而是充斥着隐形的类与类之间的直接调用(暂不谈可扩展原则而去强调调用接口,而不是具体类)。
3.类的设计过于粗粒度,不够细化。
原则1是大家最不好把握的。这个需要对领域行业较为熟悉且较为熟悉面向对象或者领域驱动开发方面的知识,才能深刻理解,自由掌握。
原则2是在编写程序拥有一定经验后需要去努力提高的。