组合模式
定义
组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。
这种模式创建了一个包含自己对象组的类。该类提供了修改相同对象组的方式。
类图
Leaf(树叶)
表示“内容”的角色。在该角色中不能放入其他对象。
Composite(复合物)
表示容器的角色。可以在其中放入Leaf角色和Composite角色。
Component
使Leaf角色和Composite角色具有一致性的角色。Composite角色是Leaf角色和Composite角色的父亲。
Client
使用Composite模式的角色
示例
类图
Entry
1 | public abstract class Entry { |
Directory
1 | public class Directory extends Entry { |
File
1 | public class File extends Entry { |
FileTreatmentException
1 | public class FileTreatmentException extends RuntimeException { |
Main
1 | public class Main { |