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

图列说明网站开发的流程南京专业网站设计哪个品牌

图列说明网站开发的流程,南京专业网站设计哪个品牌,组装电脑报价网站源码,wordpress 引用菜单软件设计模式(Design pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。 汇总目录链接&…

软件设计模式(Design pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。

汇总目录链接:【玩转23种Java设计模式】学习目录汇总整理

文章目录

  • 一、简介
  • 二、实例
    • 1、抽象组件
    • 2、叶子节点:文件
    • 3、组合节点:文件夹
    • 4、客户端使用
  • 三、总结
    • 1、优点
    • 2、缺点
    • 3、应用场景

一、简介

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

核心角色:

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

二、实例

假设需要构建文件系统,包含文件夹(组合对象)和文件(叶子对象)。

1、抽象组件

interface FileSystemComponent {void display(int indent);long getSize();
}

2、叶子节点:文件

class File implements FileSystemComponent {private String name;private long size;public File(String name, long size) {this.name = name;this.size = size;}@Overridepublic void display(int indent) {System.out.println(" ".repeat(indent) + "📄 " + name + " (" + size + "KB)");}@Overridepublic long getSize() { return size; }
}

3、组合节点:文件夹

class Directory implements FileSystemComponent {private String name;private List<FileSystemComponent> children = new ArrayList<>();public Directory(String name) {this.name = name;}public void add(FileSystemComponent component) {children.add(component);}@Overridepublic void display(int indent) {System.out.println(" ".repeat(indent) + "📁 " + name);children.forEach(child -> child.display(indent + 2));}@Overridepublic long getSize() {return children.stream().mapToLong(FileSystemComponent::getSize).sum();}
}

4、客户端使用

public class Demo {public static void main(String[] args) {Directory root = new Directory("Root");Directory documents = new Directory("Documents");documents.add(new File("resume.pdf", 256));documents.add(new File("notes.txt", 128));Directory images = new Directory("Images");images.add(new File("photo1.jpg", 2048));root.add(documents);root.add(images);root.display(0);System.out.println("Total size: " + root.getSize() + "KB");}
}

输出示例:
📁 Root
📁 Documents
📄 resume.pdf (256KB)
📄 notes.txt (128KB)
📁 Images
📄 photo1.jpg (2048KB)
Total size: 2432KB

三、总结

1、优点

  • 简化客户端代码:统一处理单个对象与组合结构。
  • 高扩展性:新增组件类型无需修改现有代码。
  • 天然支持递归结构:方便实现树形操作(如遍历、统计)。

2、缺点

  • 类型安全性问题:需要运行时类型检查。
  • 接口设计难度:需兼顾叶子与容器的不同需求。
  • 可能违反接口隔离原则:需要为不需要的方法提供空实现。

3、应用场景

  • GUI组件库(窗口包含面板/按钮等)。
  • 组织架构管理系统(部门包含员工/子部门)。
  • 数学表达式解析(操作符包含子表达式)。
  • 游戏场景图(父节点包含子节点)。
  • XML/JSON文档处理。

  当系统需要处理树形结构,且希望以统一方式操作层次中的不同元素时,组合模式是最佳选择。其价值在于模糊了简单元素与复杂元素的边界,让复杂的层次结构变得易于管理和扩展。


文章转载自:

http://8zkjcFRn.fmkbk.cn
http://JXisE43I.fmkbk.cn
http://kxxJYP7N.fmkbk.cn
http://TfhDcBRL.fmkbk.cn
http://uKK5yvWX.fmkbk.cn
http://H5RwnUP2.fmkbk.cn
http://z6MtPvZN.fmkbk.cn
http://yu9UikLc.fmkbk.cn
http://VFHRXtUL.fmkbk.cn
http://ieMlWfkj.fmkbk.cn
http://6gy0BCa0.fmkbk.cn
http://9dNT98As.fmkbk.cn
http://2Mc0Ng0h.fmkbk.cn
http://arBpje88.fmkbk.cn
http://vbx8C0sc.fmkbk.cn
http://GmjvKmuX.fmkbk.cn
http://KviNUEEj.fmkbk.cn
http://Byuq1lZJ.fmkbk.cn
http://bqR2GzGB.fmkbk.cn
http://IdGbOiti.fmkbk.cn
http://XZcgQcuL.fmkbk.cn
http://PEaCctZ3.fmkbk.cn
http://5VOKYnap.fmkbk.cn
http://0rpPFB7n.fmkbk.cn
http://BF7dkZbl.fmkbk.cn
http://990kfc64.fmkbk.cn
http://BNdU3P7b.fmkbk.cn
http://Gdi6NSAj.fmkbk.cn
http://AogwaIMu.fmkbk.cn
http://6EsjUwbs.fmkbk.cn
http://www.dtcms.com/wzjs/654731.html

相关文章:

  • 做礼品建什么网站内容管理系统开源
  • 做宣传网站要多少钱看电视剧的免费网站大全
  • 织梦网站模板安装教程怀化二医院网站
  • 南宁网站推广经理企业网站可以个人备案
  • 27寸显示器网站建设网架加工费多少钱一吨
  • 技术网站模版店铺网页设计
  • 传奇网站一般怎么做的网站制作 网站
  • 一般网站的后台网站录屏可以做证据吗
  • 网站及新媒体帐号内容建设网门app下载
  • 黑龙江开放网站备案合肥那个公司做网站优化好
  • 国内logo设计网站酒店营销策略
  • 免费建站网站排名网站建设捌金手指花总二
  • 网站优化推广价格中国工商信息注册网
  • 教育网站集群建设方案网页前端开发和后端开发
  • 用dw做教学网站如何做好seo
  • 做一个网站如何赚钱wordpress 访问地址修改
  • 网站开发页面设计报告网站页面设计多少钱
  • 建设一个门户网站需要多少钱有没有专门做飞卢小说盗版的网站
  • 网站与建设实训报告成都十大互联网公司
  • 官方网站下载微信最新版中山网站网站建设
  • 网站搭建关键词排名中国建设银行官网首页 网站首页
  • 苏州园区两学一做网站手机网站建设 豆丁
  • 电商网站域名规则lnmp怎么做网站
  • 东华网站开发个人博客html代码
  • 网站策划应该怎么做织梦如何做汽车贸易网站
  • 设计网站合集的网站信息系统项目管理高级
  • 网站站外推广的内外链接怎么做百度网盘网站开发文档模板
  • 阿里云网站建设部署与发布视频重庆网站建设公司是什么
  • 网站建设捌金手指花总五济南设计公司排名
  • 做窗帘网站房产最新消息今天新闻