组合模式浅析

组合模式的概念其实就是将对象组合成树形结构以表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性,因为组合模式其实就是不想让客户端知道它是在处理那些类型的节点。

组合模式可以把相同基类型的对象组合到树状的结构中,所以其中的父节点是包含同类型的子节点。”部分-整体“的层次结构其实就是包含对象得到组合又包含了叶节点也就是单个对象的一种层级结构。

因为每个组合或者是叶子节点有相同的基类型,所以同样的操作是可以作用于他们中的每一个的,也就是说不需要在客户端再去做类型的检查了,客户端在对组合和叶节点做处理的时候也就可以去忽略它们的差别了。这么做的目前就是为了在外部使用起来不用去处理过多的业务逻辑,因为已经完全封装在里面了。

组合模式解耦了客户程序与复杂元素内部结构,从而使客户程序可以像处理简单元素一样来处理复杂元素。其实计算机的文件系统其实就是采用了一个组合模式。

结构图如下所示,其中Component 是组合中的对象声明接口,在适当的情况下,实现所有类共有接口的默认行为,Leaf 表示叶子结点,而Composite表示的就是一个组合对象,有子节点。可以实现一些和子节点相关的操作。

组合模式浅析

推荐文章:https://www.cnblogs.com/Bobby0322/p/4191895.html