能够使容器与内容具有一致性,创造出递归结构的模式就是 Composite 模式。
比如:文件夹与文件都作为目录条目看待,将容器和内容作为同一种东西看待,可以帮助我们方便地处理问题。容器中可以放入容器,这样就形成了容器结构、递归结构。
| 名字 | 说明 |
|---|---|
| Entry | 抽象类,用来实现 File 类 和 Directory 类的一致性 |
| Directory | 表示文件夹的类 |
| File | 表示文件的类 |
| FileTreatmentException | 表示向文件中增加Entry时发生异常的类 |
| Main | 测试程序行为的类 |
Leaf(树叶)表示“内容”的角色,该角色不能放入其他对象。Composite(复合物):表示容器的角色,可以在其中放入 Leaf 和 Composite 角色。Component:使Leaf和Composite角色具有一致性的角色。Client:使用者角色
使用Composite模式可以使容器与内容具有一致性,也可以称为多个和单个的一致性。

