设计模式-大话设计模式总结->6大设计原则

点评

在6个设计模式中,我认为单一职责和合成复用,我认为是最基础的,但却是最有用的;同时也是程序设计初学者最容易出问题的设计的两个设计原则. 对此我的经验总结如下:

1.单一职责,告诉我们类的功能要单一,所以每个类存在自己的边界,必须分清楚各个类的功能划分,事件中可以一步一步来,化繁为简,逐步求精,当然也需要把握类的颗粒度。对此我的编程经验总结是:

 a.对于某些实体类,根据现实世界映射到类,往往可以得到一个直观的类划分。
 b.先划分一个初步的功能结构,讲究够用就行,等到需求要在拓展,再整理划分。
 c.“奥卡姆剃刀”-当你发现以上两条经验得出的类不是那个简单,明了,是否是你的类不够简单,可以在划分。

2.合成复用原则 ,我认为我们要成分的理解类之间的几种关系,从强到弱分别是:依赖关系,关联关系,聚集关系,组成关系。然而初学面向对象的同学可能总是在继承中不能自拔,一旦出现某种设计,首先使用继承,这是不对的。应该综合实际情况,而且组合要优先于继承,好拓展啊!

经验总结

a.认清事物之间的关系,可以画几个草图,问问自己他们是 is 关系,还是has关系。
b.当继承的子类越来越多,子类之间接近以乘数形式增加,可以想象类是否可分成两个或多个有关系的类,而不是继承。