组合模式: 允许你将对象组合成树形结构来表现“整体/部分”层次结构。组合能让客户以一致的方式处理个别对象以及对象组合。
组合模式让我们能用树形方式创建对象的结构,树里边包含了组合以及个别的对象。
使用组合结构,我们能把相同的操作应用在组合和个别对象上,换句话说,在大多数情况下,我们可以忽略对象组合和个别对象之间的差别。
组合模式以单一责任设计原则换取透明性(Transparency)。 什么是透明性?通过让组件的接口同时包含一些管理子节点或叶节点的操作,客户就可以将组合和叶节点一视同仁。也就是说,一个元素就究竟是组合还是叶节点,对客户是透明的。