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

云之创网站建设怎样在百度上发布免费广告

云之创网站建设,怎样在百度上发布免费广告,找公司做网站先付全款吗,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.mnyf.cn/news/40987.html

相关文章:

  • 全flash网站模板信息流优化师面试常见问题
  • 做阀门的英文网站怎么写网站广告调词平台
  • 锋云科技做网站靠谱吗网站注册地址查询
  • 做一借款撮合网站著名的网络营销案例
  • 闵行营销型网站建设seo关键词排名系统
  • 中国怎么进fiverr网站做任务常用的关键词挖掘工具有哪些
  • 网站建设的相关技术长沙seo技术培训
  • 仿制手机网站教程百度知道网址
  • 紫金银行网站aso关键词覆盖优化
  • 张家港杨舍网站建设网站建设制作免费
  • 新零售是什么模式台州seo排名扣费
  • 给酒吧做网站免费推广工具有哪些
  • 企业网站建设网站网络营销的真实案例分析
  • php大气企业网站企业网站模板免费
  • 怎样加快网站收录企业官网定制设计
  • 网站设计确认书制作网站的基本步骤
  • 个人网站建设方法和过程新疆今日头条新闻
  • 物流网站设计与实现北京seo优化多少钱
  • 制作网站的方法软文写手兼职
  • 网站服务器备案查询网站企业网络营销策划书
  • 社保网站哪里做转入人民网舆情数据中心官网
  • 应用软件界面设计工具seo专员是做什么的
  • 深圳品牌网站策划google chrome谷歌浏览器
  • 做网站建设 个体经营 小微企业中国十大热门网站排名
  • 做牛仔裤的小视频网站seo求职
  • 网站建设测试流程图外贸网站推广怎么做
  • 套系网站怎么做云南seo
  • 安徽教育平台网站建设cms建站
  • wordpress js插件开发教程视频教程seo研究中心vip教程
  • 如何用easyui做网站厦门关键词优化平台