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

做公司网站用什么系统/谷歌seo招聘

做公司网站用什么系统,谷歌seo招聘,网站建设费用一年,自建博客网站设计模式类型 结构型设计模式 使用场景 将对象组合成树状结构来表现"部分-整体"的层次结构。这种模式能够使得客户端对单个对象和组合对象的使用具有一致性。这句话太抽象了,拿一个实际的网站菜单树例子来说。 例子:网页菜单树 一个网站的…

设计模式类型

结构型设计模式

使用场景

将对象组合成树状结构来表现"部分-整体"的层次结构。这种模式能够使得客户端对单个对象和组合对象的使用具有一致性。这句话太抽象了,拿一个实际的网站菜单树例子来说。

例子:网页菜单树

一个网站的导航菜单。这个导航菜单包含一级菜单和二级菜单,二级菜单可以是链接或者进一步的子菜单。让我们来用组合模式来设计这个网页菜单树。
首先,我们需要一个共同的抽象类或接口来表示菜单项,让我们称之为 MenuItem:

public interface MenuItem {void display();
}

然后,我们创建菜单项类,它们都实现了 MenuItem 接口。对于一级菜单和二级菜单,我们创建不同的实现类:

import java.util.ArrayList;
import java.util.List;public class Menu implements MenuItem {private String name;private List<MenuItem> items;public Menu(String name) {this.name = name;this.items = new ArrayList<>();}public void addMenuItem(MenuItem item) {items.add(item);}public void removeMenuItem(MenuItem item) {items.remove(item);}public void display() {System.out.println("Menu: " + name);for (MenuItem item : items) {item.display();}}
}public class MenuItemLink implements MenuItem {private String name;private String url;public MenuItemLink(String name, String url) {this.name = name;this.url = url;}public void display() {System.out.println("Link: " + name + ", URL: " + url);}
}

现在,我们可以创建网页菜单树,并使用组合模式将菜单项组织起来:

public class Main {public static void main(String[] args) {MenuItemLink homeLink = new MenuItemLink("Home", "/home");MenuItemLink aboutLink = new MenuItemLink("About", "/about");Menu mainMenu = new Menu("Main");mainMenu.addMenuItem(homeLink);mainMenu.addMenuItem(aboutLink);MenuItemLink productsLink = new MenuItemLink("Products", "/products");MenuItemLink servicesLink = new MenuItemLink("Services", "/services");Menu subMenu = new Menu("Sub");subMenu.addMenuItem(productsLink);subMenu.addMenuItem(servicesLink);mainMenu.addMenuItem(subMenu);mainMenu.display();}
}

控制台输出:

Menu: Main
Link: Home, URL: /home
Link: About, URL: /about
Menu: Sub
Link: Products, URL: /products
Link: Services, URL: /services

这段代码创建了一个简单的网页导航菜单树,其中包含一级菜单和二级菜单。我们使用了组合模式,使得对于一级菜单和二级菜单的处理方式是一致的。通过递归调用 display() 方法,我们可以将整个菜单树打印出来。

这就是用网页菜单树来说明组合模式的基本思想。通过将菜单项组合成树状结构,我们可以轻松地处理复杂的菜单关系,并且对于客户端来说,可以用统一的方式处理单个菜单项和菜单组合

组合模式使用场景

组合模式在许多场景中都是非常有用的,特别是当你需要处理对象的层次结构,且希望对单个对象和组合对象进行一致性处理时。以下是一些常见的场景:

GUI组件:图形用户界面(GUI)通常具有嵌套的层次结构,例如窗口包含面板,面板包含按钮等。组合模式可以用来构建和管理GUI组件的层次结构,使得对于单个组件和组合组件的处理方式一致。

文件系统:文件系统具有树状结构,文件夹可以包含文件和其他文件夹。组合模式可以用来表示文件系统的层次结构,并且可以统一处理文件和文件夹。

组织结构:企业组织结构也通常具有层次关系,例如部门包含子部门,子部门中可能包含员工或其他子部门。组合模式可以用来管理和操作组织结构。

菜单和导航:像前面示例中的网页导航菜单一样,菜单和导航通常具有嵌套的层次结构。组合模式可以用来构建和管理菜单和导航的层次结构。

图形对象:图形对象也可以使用组合模式来表示,例如组合图形可以由多个基本图形对象(如线段、矩形、圆形)组成,从而可以对整个图形进行统一的操作。

总之,任何具有层次结构的对象集合,且希望对单个对象和组合对象进行一致性处理的情况下,都可以考虑使用组合模式。

相关文章:

GPT带我学-设计模式11-组合模式

设计模式类型 结构型设计模式 使用场景 将对象组合成树状结构来表现"部分-整体"的层次结构。这种模式能够使得客户端对单个对象和组合对象的使用具有一致性。这句话太抽象了&#xff0c;拿一个实际的网站菜单树例子来说。 例子&#xff1a;网页菜单树 一个网站的…...

Centos7 elasticsearch-7.7.0 集群搭建,启用x-pack验证 Kibana7.4用户管理

前言 Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎&#xff0c;能够解决不断涌现出的各种用例。 作为 Elastic Stack 的核心&#xff0c;它集中存储您的数据&#xff0c;帮助您发现意料之中以及意料之外的情况。 环境准备 软件 …...

[CSS]中子元素在父元素中居中

元素居中 对于当行文字居中&#xff0c;比较简单&#xff0c;设置text-align:center和text-height为盒子高度即可 对于父元素中子元素居中&#xff0c;要实现的话有以下几个方法 方法1&#xff1a;利用定位margin&#xff1a;auto <style>.father {width: 500px;heig…...

电脑突然死机怎么办?

死机是电脑常见的故障问题&#xff0c;尤其是对于老式电脑来说&#xff0c;一言不合电脑画面就静止了&#xff0c;最后只能强制关机重启。那么你一定想知道是什么原因造成的吧&#xff0c;一般散热不良最容易让电脑死机&#xff0c;还有系统故障&#xff0c;比如不小心误删了系…...

Kyligence 正式加入华为“同舟共济”行动计划,成为行业数智化“联盟级伙伴”

让“生态飞轮”旋转让“生态飞轮”旋转3月14日至15日&#xff0c;华为中国合作伙伴大会 2024 在深圳召开。本次大会以“因聚而生&#xff0c;数智有为”为主题&#xff0c;皆在升级“伙伴华为”数智体系&#xff0c;共筑解决方案竞争力&#xff0c;共赢数智世界新机遇。Kyligen…...

大模型推理框架——text-generation-inference

项目地址:https://github.com/huggingface/text-generation-inference 安装 安装rust curl --proto =https --tlsv1.2 -sSf https://sh.rustup.rs | sh安装 Protoc PROTOC_ZIP=protoc-21.12-linux-x86_64.zip curl -OL https://github.com/protocolbuffers/protobuf/relea…...

电梯四种事故检测YOLOV8

电梯四种事故检测&#xff0c;采用YOLOV8训练得到PT模型&#xff0c;然后转换成ONNX&#xff0c;OPENCV调用&#xff0c;支持C/PYTHON/ANDORID开发 电梯四种事故检测YOLOV8...

构建docker环境下的thunder迅雷插件

前言 从迅雷群晖套件中提取出来用于其他设备的迅雷远程下载服务程序。仅供测试&#xff0c;测试完请大家自觉删除。 下载保存目录 /xunlei/downloads&#xff0c; 对应迅雷应用内显示的下载路径是 /downloads 或者 /迅雷下载 仓库 阿里云镜像&#xff08;国内访问&#xff…...

Django开发复盘

一、URL 对于一个不会写正则表达式的蒟蒻来说&#xff0c;在urls.py中就只能傻傻的写死名字&#xff0c;但是即便这样&#xff0c;还会有很多相对路径和绝对路径的问题&#xff08;相对ip端口的路径&#xff09;&#xff0c;因为我们网页中涉及到页面跳转&#xff0c;涉及到发送…...

第6章 数据存储操作

思维导图 6.1 引言 数据存储与操作包括对存储数据的设计、实施和支持&#xff0c;最大化实现数据资源的价值&#xff0c;贯穿于数据创建/获取到处置的整个生命周期。 6.1.1 业务驱动因素 数据存储与操作活动对于依赖数据的企业来说非常关键&#xff0c;这些活动的主要驱动因素是…...

接口自动化框架搭建(八):pytest+allure+jenkins接入

1&#xff0c;安装allure插件 2&#xff0c;创建jenkins项目 怎么确定路径&#xff0c;可以查看工作空间&#xff0c;jenkins默认根目录就是工作空间 配置执行用例的命令&#xff0c;可以现在pycharm上试一下&#xff0c;然后在jenkins中配置&#xff1a; 把启动java服务的代…...

linux监控命令全

1.1 top 1.1.1 命令说明 Top 命令能够实时监控系统的运行状态&#xff0c;并且可以按照cpu、内存和执行时间进行排序 1.1.2 用法 top -hv | -bcisSHM -d delay -n iterations [-u user | -U user] -p pid [,pid ...] 1.1.3 参数说明 命令行启动参数&#xff1a; -b : 批次…...

【GenAI】使用GenAI堆栈构建视频分析和转录字幕聊天机器人

【GenAI】使用GenAI堆栈构建视频分析和转录字幕聊天机器人 目录 【GenAI】使用GenAI堆栈构建视频分析和转录字幕聊天机器人高层架构入门指南克隆存储库指定您的API密钥构建和运行应用程序使用yt-whisper提交视频访问Dockerbot聊天服务结论推荐超级课程: Docker快速入门到精通K…...

全国产数据采集卡定制,24位八通道以太网数据采集卡 labview 100K采样

XM702是一款以太网型高速数据采集卡&#xff0c;具有8通 道真差分输入&#xff0c;24位分辨率&#xff0c;单通道最高采样率100ksps八通 道同步共计800ksps、精密前置增益放大、集成IEPE/ICP硬件 支持的特点。本产品采用了多个高精度24位ADC单元及配合本 公司多年积累开发的前置…...

JavaEE初阶-线程3

文章目录 一、线程安全问题-内存可见性二、等待通知2.1 wait()方法2.2 notify()方法 一、线程安全问题-内存可见性 import java.util.Scanner;public class Demo27 {private static int count0;//下面这段代码会出现内存的可见性问题//将从内存中读取count值的操作称为load 判…...

C++递归(2)

数塔问题&#xff1f; 题目描述&#xff1a; 有如下所示的数塔&#xff0c;要求从底层走到顶层&#xff0c;若每一步只能走到相邻的结点&#xff0c;则经过的结点的数字之和最大是多少&#xff1f; 输入 输入数据首先包括一个整数整数N(1 输出 从底层走到顶层经过的数字的最大…...

算法训练营第27天|LeetCode 39.组合总和 40.组合总和2 131.分割回文串

LeetCode 39.组合总和 题目链接&#xff1a; LeetCode 39.组合总和 解题思路&#xff1a; 用回溯的方法&#xff0c;&#xff0c;注意这次回溯不是i1&#xff0c;而是i&#xff0c;是因为可用重复选取。 代码&#xff1a; class Solution { public:vector<vector<i…...

【Web】NSSCTF Round#20 Basic 两道0解题的赛后谈

目录 前言 baby-Codeigniter 组合拳&#xff01; 前言 本想着说看看go的gin框架就睡了的&#xff0c;r3师傅提醒说赛题环境已经上了&#xff0c;那不赶紧研究下&#x1f600; 主要来谈谈做题的心路历程 baby-Codeigniter 拿到题目的第一反应应该是&#xff1a;“什么是C…...

memcached缓存数据库简介

memcached是一套分布式的高速缓存系统&#xff0c;由LiveJournal的Brad Fitzpatrick开发&#xff0c;但被许多网站使用。这是一套开放源代码软件&#xff0c;以BSD license授权发布。 memcached缺乏认证以及安全管制&#xff0c;这代表应该将memcached服务器放置在防火墙后。 …...

C# WPF编程-Application类(生命周期、程序集资源、本地化)

C# WPF编程-Application类 应用程序的生命周期创建Application对象应用程序的关闭方式应用程序事件 Application类的任务显示初始界面处理命令行参数访问当前Application对象在窗口之间进行交互 程序集资源添加资源检索资源pack URI内容文件 每个运行中的WPF应用程序都由System…...

fpga_hdmi

HDMI简介: 高清晰度多媒体端接口&#xff0c;通常用来连接一些音视频设备&#xff0c;进行高质量的传输&#xff0c;能够同时传输音频信号和视频信号。而且在传输速度上具有较大的优势。 通过hdmi接口进行数据传输时&#xff0c;不需要切换模块&#xff0c;或者提前设置转换。…...

鸿蒙(HarmonyOS)ArkTs语言基础教程开发准备

本文档适用于HarmonyOS应用开发的初学者。通过构建一个简单的具有页面跳转/返回功能的应用&#xff08;如下图所示&#xff09;&#xff0c;快速了解工程目录的主要文件&#xff0c;熟悉HarmonyOS应用开发流程。 在开始之前&#xff0c;您需要了解有关HarmonyOS应用的一些基本概…...

【C++杂货铺】详解list容器

目录 &#x1f308;前言&#x1f308; &#x1f4c1; 介绍 &#x1f4c1; 使用 &#x1f4c2; 构造 &#x1f4c2; 迭代器iterator &#x1f4c2; capacity &#x1f4c2; modifiers &#x1f4c2; 迭代器失效 &#x1f4c1; 模拟实现 &#x1f4c2; 迭代器的实现 &#x…...

使用filezilla连接Ubuntu22.04虚拟机

获取电脑IP和虚拟机IP ① 在windows下ctrlR再输入cmd&#xff0c;打开指令窗口&#xff0c;输入 ipconfig 虚拟机连接电脑用的是NAT模式&#xff0c;故看VMnet8的IP地址 ② 查看虚拟机IP地址 终端输入 ifconfig 如果没安装&#xff0c;按提示安装net-tools sudo apt install …...

Verilog基础【二】

3.1 Verilog 连续赋值 关键词&#xff1a;assign&#xff0c; 全加器 连续赋值语句是 Verilog 数据流建模的基本语句&#xff0c;用于对 wire 型变量进行赋值。&#xff1a; assign LHS_target RHS_expression &#xff1b;LHS&#xff08;left hand side&#xff09;…...

定时推送任务 Apache HttpClient/okhttp3

定时推送任务 需求 需要定时推送我方的数据到对方那边 方法1 Apache HttpClient 此方法指定推送过去的信息转为utf-8格式的json字符串 Scheduled(initialDelay 1000 * 120, fixedDelay 1000 * 60 * 5) public void diseaseInterface() {String lockKey "lock:dise…...

centos7 安装 mysql

命令记录&#xff0c;未整理&#xff1b; 1. 下载mysql5.7的安装包&#xff0c;上传到linux系统某个目录中 2. 使用tar -xvf 解压 tar包 tar -xvf mysql-5.7.35-1.el7.x86_64.rpm-bundle.tar 3. 使用 rpm -ivh 安装 mysql rpm -ivh mysql-community-common-5.7.35-1.el7.x8…...

src挖掘技巧总结分享

src挖洞技术分享 src推荐刚入门的新手首选公益src如漏洞盒子、补天src&#xff0c;因为漏洞盒子收录范围广&#xff0c;只要是国内的站点都收入&#xff0c;相比其它src平台挖掘难度非常适合新手。后续可以尝试先从一些小的src厂商入手。 首先是熟能生巧&#xff0c;我一开始挖…...

【面试八股总结】传输控制协议TCP(一)

一、什么是TCP协议 TCP是传输控制协议Transmission Control Protocol TCP 是面向连接的、可靠的、基于字节流的传输层通信协议。 面向连接的&#xff1a;每条TCP连接杜只能有两个端点&#xff0c;每一条TCP连接只能是点对点的&#xff08;一对一&#xff09;可靠的&#xff1a…...

【系统架构师】-第13章-层次式架构设计

层次式体系结构设计是将系统组成一个层次结构&#xff0c;每一层 为上层服务 &#xff0c;并作为下层客户。 在一些层次系统中&#xff0c;除了一些精心挑选的输出函数外&#xff0c; 内部的层接口只对相邻的层可见 。 连接件通过决定层间如何交互的协议来定义&#xff0c;拓扑…...