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

网站开发什么语言换ip 撞库 Wordpress

网站开发什么语言,换ip 撞库 Wordpress,建筑设计公司加盟分公司,微信开放平台小程序开发文档结构性设计模式之Composite(组合) 摘要: Composite(组合)模式通过树形结构表示"部分-整体"层次关系,使得用户能够统一处理单个对象和组合对象。该模式包含Component(组件接口&#x…

结构性设计模式之Composite(组合)

摘要:
Composite(组合)模式通过树形结构表示"部分-整体"层次关系,使得用户能够统一处理单个对象和组合对象。该模式包含Component(组件接口)、Leaf(叶子节点)和Composite(组合节点)三个核心角色,适用于需要表示对象层次结构并统一操作的场景。示例代码展示了文件夹结构的实现,Folder类管理子组件,File类作为叶子节点,通过递归遍历实现统一处理。该模式简化了客户端代码,使系统更易扩展和维护。

1)意图;

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

2)结构

在这里插入图片描述

其中:

  • Componect 为组合中的对象声明接口:在适当情况下实现所有类共有接口的默认行为:

    声明一个接口用户访问和管理 Componect的子组件;(可选)在递归结构中定义一个

    接口,用于访问一个父组件,并在合适的情况下实现它。

  • Leaf 在组合中表示叶节点对象,叶结点没有子节点节点;在组合中定义图元对象的行为。

  • Composite定义有子组件的那些组件的行为;存储子组件;在Component接口中实现与子组件有关的操作。

  • Client 通过 Component 接口操纵组合组件的对象。

3)适用性

Composite 模式下适用于:

  • 想表示对象的部分-整体层次结构。
  • 希望用户忽略组合对象与单个对象的不同,用户将统一地使用组合结构中的所有对象。

代码

import java.util.ArrayList;
import java.util.List;/*** @author psd 结构性设计模式之组合设计模式*/
public class ComponentDemo {public static void main(String[] args) {AbstractFile root = new Folder("root");AbstractFile folderA = new Folder("folderA");AbstractFile folderB = new Folder("folderB");AbstractFile fileC = new File("fileC");AbstractFile fileD = new File("fileD");AbstractFile fileE = new File("fileE");root.add(folderA);root.add(folderB);root.add(fileC);folderA.add(fileD);folderA.add(fileE);print(root);}private static void print(AbstractFile file) {file.printName();List<AbstractFile> childrenList = file.getChildren();if (childrenList == null) {return;}for (AbstractFile children : childrenList) {print(children);}}
}abstract class AbstractFile {protected String name;public void printName() {System.out.println(name);}public abstract boolean add(AbstractFile file);public abstract boolean remove(AbstractFile file);public abstract List<AbstractFile> getChildren();
}/*** 文件夹*/
class Folder extends AbstractFile {public Folder(String name) {this.name = name;}List<AbstractFile> children = new ArrayList<>();@Overridepublic boolean add(AbstractFile file) {return children.add(file);}@Overridepublic boolean remove(AbstractFile file) {return children.remove(file);}@Overridepublic List<AbstractFile> getChildren() {return children;}
}class File extends AbstractFile {public File(String name) {this.name = name;}@Overridepublic boolean add(AbstractFile file) {return false;}@Overridepublic boolean remove(AbstractFile file) {return false;}@Overridepublic List<AbstractFile> getChildren() {return null;}}

代码目录结构如下:

在这里插入图片描述
欢我的文章记得点个在看,或者点赞,持续更新中ing…

http://www.dtcms.com/a/489580.html

相关文章:

  • 济南微网站免费推广平台排行
  • WordPress允许修改评论内容wordpress 国内 优化
  • 网站建设与规划公众号推广引流
  • 网站html下载网站建设捌金手指下拉七
  • 创客贴网站做海报技能广告设计教程
  • 杭州市建设厅网站windows优化大师免费版
  • 做视频网站玩什么配置网络营销方案包括哪些主要内容?
  • 深圳专业营销网站公司编程培训机构找极客时间
  • 高端网站建设哪家好canva可画在线设计平台
  • wp网站开发珠海知业科技
  • php大气企业网站网站开发的书籍
  • 温州网站 公司拓者设计吧注册还要钱
  • vps 网站发布精美wordpress模板
  • 网站建设审核需要多长时间网站备案 公章
  • 四川绵阳网站建设wordpress文件插件
  • 网站建设和网站山东外贸网站推广
  • 建网站行业朗朗上口的公司名称
  • 在网上做网站中国新闻社是什么单位
  • 健身网站开发方式贵州 做企业网站的流程
  • 官网站内推广内容如何查询国外公司的注册信息
  • 建设网站网站建站廊坊百度推广排名优化
  • 销售网站建设工资多少紧急通知页面升级
  • 阿里巴巴建网站创新的宁波网站建设
  • 苏州网站开发公司招聘网站开发的条件
  • 如何制作一个网站如何做好品牌宣传
  • 建设网站青岛哪些网站论坛做推广好
  • 平面设计素材网站推荐词典网站模板
  • dnf做代练哪个网站好点关于做摄影的网站
  • 宝应做网站企业管理模块
  • 接入商网站备案营销客户管理系统