组合模式介绍
将对象组合成树型结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。这句话说起来比较抽象,就是说,一个复杂对象,可能是由几个简单对象和复杂对象合成的。但是它们的行为却是一致的。
组合模式优点
- 可以更加容易的给复杂对象增加新的构件,并且不用修改原有代码。
- 客户端调用起来更加方便。
组合模式缺点
- 客户端需要可能要对构件进行组合,比较麻烦。
实现
场景:一个电脑主机,需要CPU和主板。
-
抽象构件类,定义公共行为。
-
定义最原始的对象,即最简单的对象具体行为:
-
定义主机类,即整体的集合类,它是由各个简单对象组合而成的:
-
客户端调用及结果: