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

新泰网站定制企业seo网站推广

新泰网站定制,企业seo网站推广,wordpress上传文件功能,网站设计流程概述 处理树形结构或层次结构 业务场景:文件系统管理 假设你正在开发一个文件系统管理工具,文件系统中包含文件夹和文件。 1. 组件接口 (FileSystemComponent) public interface FileSystemComponent {void showDetails(); // 显示文件或文件夹的详…

概述

处理树形结构或层次结构

业务场景:文件系统管理

假设你正在开发一个文件系统管理工具,文件系统中包含文件夹和文件。

1. 组件接口 (FileSystemComponent)

public interface FileSystemComponent {void showDetails(); // 显示文件或文件夹的详细信息long getSize(); // 获取文件或文件夹的大小
}

2. 叶子节点 (File)

public class File implements FileSystemComponent {private String name;private long size;public File(String name, long size) {this.name = name;this.size = size;}@Overridepublic void showDetails() {System.out.println("文件: " + name + ",大小: " + size + " 字节");}@Overridepublic long getSize() {return size;}
}

3. 组合节点 (Folder)

import java.util.ArrayList;
import java.util.List;public class Folder implements FileSystemComponent {private String name;private List<FileSystemComponent> components = new ArrayList<>();public Folder(String name) {this.name = name;}public void addComponent(FileSystemComponent component) {components.add(component);}public void removeComponent(FileSystemComponent component) {components.remove(component);}@Overridepublic void showDetails() {System.out.println("文件夹: " + name);for (FileSystemComponent component : components) {component.showDetails(); // 递归显示子组件详情}}@Overridepublic long getSize() {long totalSize = 0;for (FileSystemComponent component : components) {totalSize += component.getSize(); // 递归计算文件夹大小}return totalSize;}
}

4. 客户端代码

public class FileSystemDemo {public static void main(String[] args) {// 创建文件FileSystemComponent file1 = new File("file1.txt", 100);FileSystemComponent file2 = new File("file2.txt", 200);FileSystemComponent file3 = new File("file3.txt", 300);// 创建文件夹Folder folder1 = new Folder("文件夹1");Folder folder2 = new Folder("文件夹2");// 将文件添加到文件夹folder1.addComponent(file1);folder1.addComponent(file2);folder2.addComponent(file3);// 将文件夹添加到另一个文件夹Folder rootFolder = new Folder("根文件夹");rootFolder.addComponent(folder1);rootFolder.addComponent(folder2);// 显示文件系统结构System.out.println("文件系统结构:");rootFolder.showDetails();// 计算文件系统总大小System.out.println("文件系统总大小: " + rootFolder.getSize() + " 字节");}
}

5. 输出

文件系统结构:
文件夹: 根文件夹
文件夹: 文件夹1
文件: file1.txt,大小: 100 字节
文件: file2.txt,大小: 200 字节
文件夹: 文件夹2
文件: file3.txt,大小: 300 字节
文件系统总大小: 600 字节

业务场景总结

  1. 问题:文件系统中文件夹和文件的操作需要统一处理,但它们的结构是树形的。

  2. 解决方案:使用组合模式,将文件夹和文件统一抽象为 FileSystemComponent,使得用户可以一致地处理单个文件和文件夹。

  3. 优点

    • 统一处理单个对象和组合对象,简化客户端代码。

    • 支持递归操作,如计算文件夹大小或显示文件结构。

    • 符合开闭原则,易于扩展新的组件类型。


其他业务场景

  1. 组织架构管理:公司中的部门和员工可以组成树形结构,统一管理。

  2. 菜单系统:菜单和菜单项可以组合成树形结构,支持递归操作。

  3. UI 组件:复杂的 UI 界面中,容器组件和叶子组件可以统一管理。

组合模式的核心思想是部分-整体,它通过树形结构统一管理单个对象和组合对象,使得用户可以一致地处理它们。

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

相关文章:

  • 做食材的网站如何推销网站
  • 网络规划设计包括哪些内容湖南有实力seo优化哪家好
  • 看英语做游戏的网站平台接广告在哪里接的
  • 东莞市建设工程信息服务协会沈阳专业seo关键词优化
  • 国际贸易相关网站淘宝推广怎么推
  • 网站开发 .net易推客app拉新平台
  • 电商 网站 备案什么是seo搜索
  • wordpress代码修改用户权限无线网络优化是做什么的
  • wordpress做的外贸网站6附近的成人电脑培训班
  • 十堰微网站建设搜索引擎排名谷歌
  • 建设部网站证件查询国外seo
  • 建设网站如何给页面命名seo建站公司推荐
  • 上首页的seo关键词优化网络优化包括
  • 广州做鞋的网站seo关键词首页排名代发
  • 广州开发区外国语学校网站seo外包价格
  • 路由器当服务器做网站个人网站模板建站
  • 虎门仿做网站app推广是什么工作
  • 网站技术部做什么ip子域名大全
  • 网站建设代理平台青岛官网seo方法
  • 企业网站的建立之前必须首先确定seo培训优化课程
  • 如何做游戏渠道网站人民日报评网络暴力
  • 门户网站怎么做才好看火星时代教育培训机构学费多少
  • 青岛公司网站建设开发点击seo软件
  • 手机wap版网站制作关键词挖掘工具爱网
  • 网站制作说明请简述网络营销的特点
  • 徐州网站建设哪家好如何做自己的网站
  • 西安市专业网站建设简述网站建设的流程
  • 大朗网站仿做郑州网站建设公司排行榜
  • 重庆市建设工程信息网官网公示seo模拟点击
  • 深圳网站建设潮动九州找客户的软件有哪些