在文件系统中,有文件夹概念。文件夹里可以放文件,也可以继续放文件夹。虽然文件和文件夹不同,但是在操作系统中都看作同一种对象看待(目录条目)。组合模式就是用于创造出这样结构的模式,能够使容器与内容具有一致性,创造出递归结构。
类图:
这里Entry
是表示目录条目的抽象类,File
代表文件,Directory
类代表目录,都继承Entry
。Directory
中有一个存放ArrayList<Entry> directory
,这样就可以在这个ArrayList
中存放文件或文件夹。
代码实现也不放了,体会设计模式就好。