【玩转23种Java设计模式】结构型模式篇:组合模式

打印 上一主题 下一主题

主题 1040|帖子 1040|积分 3120

软件设计模式(Design pattern),又称设计模式,是一套被反复使用、多数人知晓的、颠末分类编目标、代码设计履历的总结。使用设计模式是为了可重用代码、让代码更容易被他人明白、保证代码可靠性、步伐的重用性。
    汇总目录链接:【玩转23种Java设计模式】学习目录汇总整理
  
  
一、简介

  组合模式(Composite Pattern)是一种结构型设计模式,用于将对象组合成树形结构以表示"部分-整体"的层次关系。其核心思想是通过同一接口处置惩罚叶子对象(单个元素)和组合对象(容器元素),使客户端无需区分操作的是单个对象还是整个组合结构。
核心脚色:


  • Component:声明组合对象的通用接口
  • Leaf:叶子节点(无子节点)
  • Composite:容器节点(包罗子组件聚集)
二、实例

假设必要构建文件体系,包罗文件夹(组合对象)和文件(叶子对象)。
1、抽象组件

  1. interface FileSystemComponent {
  2.     void display(int indent);
  3.     long getSize();
  4. }
复制代码
2、叶子节点:文件

[code]class File implements FileSystemComponent {
    private String name;
    private long size;

    public File(String name, long size) {
        this.name = name;
        this.size = size;
    }

    @Override
    public void display(int indent) {
        System.out.println(" ".repeat(indent) + "
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

我可以不吃啊

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表