合成/聚合复用原则

就是通过抽象和实现的方式来作为某个整体的部分组件,而不是依靠继承来获得某个功能,减少类和类的耦合。

比如说,鸟类都会飞,如果做出一个父类有一个飞的方法,具体鸟类去继承获得这个飞的方法,此时具体鸟类和父类就耦合在一起了,当具体鸟类的飞行方法改变,此时就需要重写父类方法或则修改父类方法,这就不符合里氏替换原则和开闭原则了。

如果通过抽象一个飞行类,让鸟类依赖这个抽象类,我们通过将实现飞行类以注入或则其他方式提供给鸟类,鸟类就有这个功能了。当飞行方法改变,就可以修改注入的飞行实现类就可以了。


首页 我的博客
粤ICP备17103704号