设计模式-结构型模式-组合模式

组合模式

又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。

//文件结构
public void FileStruct{
  ...
}
public void Folder extends FileStruct{
  private String name;
  private List<FileStruct> fileStruct = new ArrayList<>();
  public Folder(String name){
    this.name = name;
  } 
  public void add(FileStruct fileStruct){
    this.fileStruct = fileStruct;
  }
}
public void SingleFile extends FileStruct{
  private String name;
  public SingleFile(String name){
    this.name = name;
  }
}
public static void main(){
  Folder folder = new Folder("c盘");
  SingleFile txtFile = new SingleFile("txt文件");
  SingleFile jarFile = new SingleFile("jar文件");
  folder.add(txtFile);
  folder.add(jarFile);
}

在java源码中,awt编程中的Container容器组件就是用了组合模式存储了Component相关的组件,将类似的组件组合在了一起。

posted @ 2021-01-29 10:53  rd-yyx  阅读(50)  评论(0)    收藏  举报