作用: 一种将对象组合成树状的层次结构的模式,用来表示“整体-部分”的关系,使用户对单个对象和组合对象具有一致的访问性。
角色: Component接口:客户访问对象的接口,客户无需关心调用的是单个对象还是组合对象;
Leaf:实现了Component接口
Branch:实现了Component接口,同时还有增、删、改Component的一些API,用于构建树状结构
应用:购物袋 Leaf是商品,Branch是购物袋,Component提供了结账的方法。