当前位置: 首页 > wzjs >正文

做citation的网站网站建设策划书案例

做citation的网站,网站建设策划书案例,国家建设部网站官网证件查询,上海英文网站建设Java 组合模式(Composite Pattern)详解 🌳 什么是组合模式? 组合模式用于将对象组合成树形结构以表示“部分-整体”的层次结构,使客户端可以统一对待单个对象和组合对象。 🧠 使用场景 希望客户端忽略对…

Java 组合模式(Composite Pattern)详解

🌳 什么是组合模式?

组合模式用于将对象组合成树形结构以表示“部分-整体”的层次结构,使客户端可以统一对待单个对象和组合对象


🧠 使用场景

  • 希望客户端忽略对象组合和单个对象的差别
  • 表示树形结构,如图形、文件系统、组织架构等

🏗️ 模式结构

  • Component(抽象构件):定义所有对象的共同接口
  • Leaf(叶子节点):树的末端节点,无子节点
  • Composite(容器构件):有子节点,实现子节点管理逻辑

✅ 示例:文件系统结构

抽象组件(Component)

public abstract class FileComponent {protected String name;public FileComponent(String name) { this.name = name; }public abstract void display(String indent);
}

叶子节点(Leaf)

public class FileLeaf extends FileComponent {public FileLeaf(String name) {super(name);}@Overridepublic void display(String indent) {System.out.println(indent + "📄 " + name);}
}

组合节点(Composite)

import java.util.ArrayList;
import java.util.List;public class FolderComposite extends FileComponent {private List<FileComponent> children = new ArrayList<>();public FolderComposite(String name) {super(name);}public void add(FileComponent component) {children.add(component);}public void remove(FileComponent component) {children.remove(component);}@Overridepublic void display(String indent) {System.out.println(indent + "📁 " + name);for (FileComponent component : children) {component.display(indent + "    ");}}
}

客户端调用

public class Client {public static void main(String[] args) {FolderComposite root = new FolderComposite("Root");FolderComposite docs = new FolderComposite("Documents");FolderComposite pics = new FolderComposite("Pictures");FileLeaf file1 = new FileLeaf("Resume.pdf");FileLeaf file2 = new FileLeaf("CoverLetter.docx");FileLeaf img1 = new FileLeaf("Photo.jpg");docs.add(file1);docs.add(file2);pics.add(img1);root.add(docs);root.add(pics);root.display("");}
}

🧩 优点

  • 清晰地定义树形结构

  • 客户端可以一致性地处理单个对象和组合对象

  • 增加新类型节点方便

⚠️ 缺点

  • 抽象层与组合层差异被忽略,可能降低类型安全

  • 违反开闭原则:添加新功能可能需要修改组件接口

✅ 使用建议

当你需要表示一个树形结构,并希望客户端可以**透明地处理所有节点(不关心是组合还是叶子)**时,组合模式就是你的首选。

http://www.dtcms.com/wzjs/238240.html

相关文章:

  • 织梦做网站视频教程网站外链优化方法
  • 美国一个分享怎么做的网站叫什么网页制作的基本步骤
  • 在c盘做网站可以吗企业网站推广优化公司
  • 用模板建商城购物网站深圳抖音seo
  • 网上商城网站建设规划微信软文范例100字
  • 上海住房和城乡建设局网站首页中国免费网站服务器下载
  • 网站导航的分类有哪些杭州网站设计公司
  • 深圳专业做网站哪家好全渠道营销管理平台
  • 公司网站友情链接怎么做副链seo软件推荐
  • 租房网站建设多少钱百度搜索风云榜人物
  • 凡客诚品倒闭了吗武汉seo建站
  • 中英文网站制作美食软文300字
  • 北碚网站建设公司品牌设计公司
  • 成都网站建设市场凌云seo博客
  • 郑州的建设网站有哪些月嫂免费政府培训中心
  • 环艺毕业设计代做网站国家卫健委每日疫情报告
  • 一级做a爱网站免费企业门户网站的设计与实现
  • 网络营销从网站建设开始软文吧
  • 自建网站做网上超市可行吗全国疫情最新消息今天实时
  • 大良营销网站建设服务网络营销中心
  • 如何做网页或网站技能培训网
  • 做网站单页烧钱蜘蛛搜索引擎
  • 做卡通头像的网站最新清远发布
  • 昆明公司网站开发如何写软文
  • 招标网站排名前十名同城推广有什么平台
  • 茂名网站建设短视频矩阵seo系统源码
  • 哈尔滨网站提升排名拓客公司联系方式
  • 广告图片在线制作湖南seo优化首选
  • 匠王红木在那个网站做众筹seo推广优化服务
  • 个人网站yandex搜索入口