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

品牌网站建设小蝌蚪a网站热度查询

品牌网站建设小蝌蚪a,网站热度查询,用卫生纸做的礼物街网站,wordpress 单一商品主题组合模式 组合模式定义使用场景1、文件系统的目录结构:2、组织架构图:3、菜单和菜单项:4、使用场景总结: 角色定义Component 抽象构件角色:Leaf 叶子构件:Composite 树枝构件: 需求背景代码实现Component(抽象构件角色…

组合模式

  • 组合模式定义
    • 使用场景
      • 1、文件系统的目录结构:
      • 2、组织架构图:
      • 3、菜单和菜单项:
      • 4、使用场景总结:
    • 角色定义
      • Component 抽象构件角色:
      • Leaf 叶子构件:
      • Composite 树枝构件:
    • 需求背景
      • 代码实现
        • Component(抽象构件角色)
        • Leaf(叶子构件)
        • Composite(树枝构件)
        • 测试案例
        • 输出结果
        • 案例总结

组合模式定义

将对象组合成树形结构以表示“部分-整体”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。

使用场景

以下是一些组合模式在生活中的案例:

1、文件系统的目录结构:

文件系统中的目录结构可以看作是一个树形结构,每个目录可以包含文件和子目录。这个例子中,目录就是复合对象,而文件就是单个对象。

2、组织架构图:

组织架构图也可以看作是一个树形结构,每个部门可以包括多个员工和子部门。这个例子中,部门就是复合对象,而员工就是单个对象。

3、菜单和菜单项:

在餐厅中,菜单可以包含多个菜单项,而每个菜单项可以是单个菜品或者是一个子菜单。这个例子中,菜单就是复合对象,而菜单项就是单个对象。

4、使用场景总结:

  1. 维护和展示部分-整体关系的场景
  2. 如树形菜单、文件和文件夹管理从一个整体中能够独立出部分模块或功能的场景。
  3. 只要是树形结构,就考虑使用组合模式

角色定义

Component 抽象构件角色:

 定义参加组合对象的共有方法和属性,可以定义一些默认的行为或属性.

Leaf 叶子构件:

叶子对象,其下再也没有其他的分支,也就是遍历的最小单位。

Composite 树枝构件:

树枝对象,它的作用是组合树枝节点和叶子节点形成一个树形结构

需求背景

使用组合模式实现对文件和文件夹的管理

使用组合模式实现对文件和文件夹的管理

代码实现

Component(抽象构件角色)

public abstract class Component {protected String name;public Component(String name) {this.name = name;}public abstract void add(Component c);public abstract void remove(Component c);public abstract void display(int depth);
}

Leaf(叶子构件)

public class File extends Component {public File(String name) {super(name);}public void add(Component c) {System.out.println("不能添加文件到文件");}public void remove(Component c) {System.out.println("不能从文件中删除文件");}public void display(int depth) {for (int i = 0; i < depth; i++) {System.out.print("-");}System.out.println(name);}
}

Composite(树枝构件)

import java.util.ArrayList;
import java.util.List;public class Folder extends Component {private List<Component> children;public Folder(String name) {super(name);children = new ArrayList<>();}public void add(Component c) {children.add(c);}public void remove(Component c) {children.remove(c);}public void display(int depth) {for (int i = 0; i < depth; i++) {System.out.print("-");}System.out.println(name);for (Component c : children) {c.display(depth + 2);}}
}

测试案例

public class Test {public static void main(String[] args) {Component root = new Folder("C:");Component folder1 = new Folder("Program Files");Component folder2 = new Folder("Users");Component file1 = new File("readme.txt");Component file2 = new File("program.exe");root.add(folder1);root.add(folder2);folder1.add(file2);folder2.add(file1);root.display(0);}
}

输出结果

C:-Program Files--program.exe-Users--readme.txt

案例总结

  1. 组合模式可以很好地管理树形结构,它将复杂的结构分解成了一个个简单的对象,从而使得代码更加简洁和易于维护。
  2. 在实现过程中,我们需要定义抽象构件角色、叶子构件和树枝构件,其中叶子构件表示最基本的对象,而树枝构件表示复合对象。
  3. 在客户端中,我们可以通过组合叶子和树枝构件来构建复杂的结构,并且可以通过抽象构件角色来实现对所有对象的统一管理。
http://www.ritt.cn/news/11908.html

相关文章:

  • 网站广告图片设计教程在线代理浏览网页
  • 网页设计实训报告1500北京搜索引擎优化主管
  • 德阳建设局网站首页免费com网站域名注册
  • 广州越秀区租房子多少钱一个月seo排名系统源码
  • 学校门户网站建设工作软文写作是什么意思
  • 东莞网站建设做网站安徽seo人员
  • 泰州做网站公司河北关键词seo排名
  • 商城网站如何优化杭州网站关键词排名优化
  • 郑州网站服务公司免费加精准客源
  • 为博彩做网站日入两万2024年新闻摘抄十条
  • 专业建站公司加盟精准ip地址查询工具
  • wordpress js篡改南昌关键词优化软件
  • 右键网站 选择添加ftp站点兰州网站seo
  • 帝国cms做笑话网站谷歌广告推广怎么做
  • 网站建设的想法和意见被忽悠去做网销了
  • 企业网站制作托管技术培训平台
  • 网站运营与推广计划书北京百度搜索排名优化
  • 网站做阿里妈妈流量网站
  • 山西省城乡住房和建设厅网站首页百度平台推广联系方式
  • 南京网站制作招聘百度地图推广
  • 网站三合一建设百度霸屏推广一般多少钱
  • 最新网站开发价格权重查询
  • 大型网站开发流程郑州搜索引擎优化公司
  • 做公众号选择图片的网站网站怎么注册
  • 我的免费网是个什么网站seo搜索价格
  • wordpress如何添加注册登录站长工具seo综合查询论坛
  • 横岗网站建设多少钱汕头seo公司
  • 福泉市自己的网站自媒体运营主要做什么
  • 企业网站建设具体步骤找个免费的网站
  • 工程机械 网站模板品牌营销推广方案怎么做