Java设计模式之组合模式(Composite Pattern)
介绍 组合模式是一种结构型设计模式。它一般是 用来创建树状的结构,表示“部分-整体”的层次关系 。由于该模式使用的是 对象组合的方式 来实现的,区别于继承的方式,因此也叫做合成模式。先来看一下它的定义: Compose objects into tree structures to represent part-whole hierarchies. Composite lets clients treat individual objects and compositions of objects uniformly. 将对象组合成树形结构以表示 “部分-整体” 的层次结构,使得用户对单个对象和组合对象的使用具有一致性。 组合模式主要包括三种角色: Componet抽象构件角色。定义对象的框架,可以在其中实现通用的方法、定义类的属性等等,单个对象和组合对象都要继承它。 Leaf叶子组件。相当于树状结构中的叶子,是结构的最下层,下面没有其他组件。 Composite树枝组件。相当于树状结构的分枝节点,下面有其他树枝组件或叶子组件,它相当于一个容器,包含下面的各个组件,是其下各个组件的父亲。 有了这三种角色就可以实现组合模式。组合模式的应用有很多,最常见的是我们的文件系统,一个文件夹下面可以有很多其他的文件夹,并且还可以有很多文件,这里的文件夹就相当于我们的树枝组件(容器)