组合模式将对象组合成树形结构,以表示“部分-整体”的层次结构。
我个人的感觉,组合模式就是将已经逻辑解耦的小模块如何组合完成更复杂逻辑的指导思想。
树形结构在编程中十分常见,树形结构的好处我说不上太多,但是可以确定,目前在数据结构中,树是一个大模块,有很多成熟的对树结构进行操作的思想和方法,因此将小模块组合成树形结构,是易于被操作的。
组合模式的另一个好处是通过对象的多态性表现,使得用户对单个对象和组合对象的使用具有一致性。
看起来就是接口一致性。仍旧是封装变化,将不变的(如接口名)暴露出去。