三,组合/聚合原则:即在开发一个软件过程中,应尽量多使用组合/聚合原则。组合,聚合的定义我也忘了,但它们的区别,你可以想像一下一只雁的翅膀与雁的关系便是组合关系,局部的生命周期一定不能长于整体的,或局部的生命周期由整体管理,这样便是组合;而一只雁与雁群便是聚合关系,个体的生命周期与集体无关。

为什么使用这个原则呢?相对于继承,组合、聚合是一种低侵入式的依赖关系,而继承,则子类拥有所有父类protected以上级别的成员,这样既易存在出错的情况,子类会不小心重写父类的方法,或修改了某些变量,又易使某个类增长成庞然大物。组合/聚合则不会存在这种情况,体现出软件设计中灵活性。