建设一个asp网站/优化seo可以从以下几个方面进行

建设一个asp网站,优化seo可以从以下几个方面进行,网站建设信(信科网络),nginx 网站开发概念 中介者模式是一种行为模式, 他的核心思想是通过引入一个中介者对象,将多个对象之间的复杂交互逻辑统一管理。每个对象只需要与中介者通信,而不需要直接与其他对象交互,从而降低系统的耦合度。 适用场景 对象之间交互复杂&…

概念

中介者模式是一种行为模式, 他的核心思想是通过引入一个中介者对象,将多个对象之间的复杂交互逻辑统一管理。每个对象只需要与中介者通信,而不需要直接与其他对象交互,从而降低系统的耦合度。

适用场景

  1. 对象之间交互复杂:当对象之间的交互逻辑复杂且难以维护时。
  2. 减少依赖:当需要减少对象之间的直接依赖时。
  3. 集中管理交互:当需要集中管理对象之间的交互逻辑时。

创建方式

1、创建一个中介者对象接口,在中介者对象接口中创建一个通知消息函数接口。创建其他的和构件交互的接口也可以。

2、创建同事对象的接口,在此对象中定义一个中介者引用对象。

3、实现具体的中介者对象,在具体的中介者对象中添加一个管理同事对象的数据结构。

​ 1)实现设置函数将同事对象设置给中介者对象(这里可以在构造函数中进行初始化对象设置 ,也可以使用单独的设置函数进行设置)。

​ 2)实现接口中的通知函数,并实现消息的推送。

​ 这里也可以直接在中介者类中创建和销毁组件对象。

4、实现具体的基础构件类,具体的基础构件类中需要实现发送消息通知的函数,并且需要将自己本身添加到中介对象。

5、在客户端创建需要中介者管理的基础构件,在创建一个具体的中介者对象并将需要中介者管理的基础构件以值传递的方式设置到中介者对象中。之后在操作基础构件的时候时候可以通过基础构建中设置的中介者来通知其他的基础构件。

类关系

在这里插入图片描述

示例代码

#include "ZhongJieZheMoShi.h"
int main()
{std::cout << "欢迎东哥来到设计模式的世界!\n";IntermediaryBase* intermediary = new ConcretizeIntermediary();BaseComponent* component1 = new ConcretizeCompent("一:你好,我是第一个好友");component1->setIntermediary(intermediary);BaseComponent* component2 = new ConcretizeCompent("二:你好,我是第二个好友");component2->setIntermediary(intermediary);BaseComponent* component3 = new ConcretizeCompent("三:你好,我是第三个好友");component3->setIntermediary(intermediary);BaseComponent* component4 = new ConcretizeCompent("四:你好,我是第四个好友");component4->setIntermediary(intermediary);BaseComponent* component5 = new ConcretizeCompent("五:大家好");component5->setIntermediary(intermediary);component5->notify();
}
#pragma once
#include <vector>
#include <string>
#include <iostream>
using namespace std;//同事对象
class IntermediaryBase;
class BaseComponent {
public:BaseComponent() {}~BaseComponent() {}virtual void notify() = 0;virtual void diaplay() = 0;virtual void setIntermediary(IntermediaryBase* intermediary) = 0;
};//中介者接口
class IntermediaryBase
{
public:IntermediaryBase() {}~IntermediaryBase() {}virtual void notify() {}virtual void addComponent(BaseComponent* component) {}
};//具体中介者
class ConcretizeIntermediary : public IntermediaryBase {
public:ConcretizeIntermediary() {}~ConcretizeIntermediary() {}void notify() {for (int i = 0; i < m_Component.size(); ++i) {m_Component[i]->diaplay();}}void addComponent(BaseComponent* component) {m_Component.push_back(component);}vector<BaseComponent*> m_Component;
};//具体同事对象
class ConcretizeCompent : public BaseComponent {
public:ConcretizeCompent(string date) { m_date = date; }~ConcretizeCompent() {}void notify() {cout << "五:你好,我是第五个好友" << endl;m_intermediary->notify();}void diaplay() {cout << m_date << endl;}void setIntermediary(IntermediaryBase* intermediary) {m_intermediary = intermediary;intermediary->addComponent(this);}
private:IntermediaryBase* m_intermediary;string m_date;
};
欢迎东哥来到设计模式的世界!
五:你好,我是第五个好友
一:你好,我是第一个好友
二:你好,我是第二个好友
三:你好,我是第三个好友
四:你好,我是第四个好友
五:大家好

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/72744.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

百度移动生态事业群聚焦UGC战略,贴吧迎新调整

易采游戏网3月8日独家消息&#xff1a;近日据内部消息人士透露&#xff0c;百度移动生态事业群正积极将用户生成内容&#xff08;UGC&#xff09;作为新的战略重点。此举标志着百度对UGC价值的重视与重塑&#xff0c;同时也预示着其旗下重要平台——百度贴吧将迎来一轮重大的调…

【前端】【webpack-dev-server】proxy跨域代理

参考&#xff1a;https://www.bilibili.com/video/BV1c5SnYZEnZ?spm_id_from333.788.videopod.episodes&vd_source65c8707649747fd67b232866b69a5ebd&p138

批量在 Word 的指定位置插入页,如插入封面、末尾插入页面

我们经常会碰到需要在 Word 文档中插入新的页面的需求&#xff0c;比如在 Word 文档末尾插入一个广告页、给 Word 文档插入一个说明封面&#xff0c;在 Word 文档的中间位置插入新的页面等等。相信这个操作对于大部分小伙伴来说都不难&#xff0c;难的是同时给多个 Word 文档插…

在Windows 11的WSL中安装Kali Linux

Kali Linux 是网络安全从业者和爱好者的首选工具集&#xff0c;但直接在物理机或虚拟机上运行可能占用较多资源。借助 Windows Subsystem for Linux (WSL)&#xff0c;我们可以在Windows 11中原生运行Kali Linux&#xff0c;轻量且高效。本教程将手把手教你如何在WSL2中安装并配…

Flow Size Prediction with Short Time Gaps

Flow Size Prediction with Short Time Gaps 网络流量预测新突破&#xff1a;微秒级短流预测的可行性分析 在当今数据中心和云计算环境中&#xff0c;网络流量的精准预测是优化资源分配、实现智能负载均衡的关键。传统流量和预测聚焦于长时间间隔&#xff08;如秒级或分钟级&…

数学建模:MATLAB强化学习

一、强化学习简述 强化学习是一种通过与环境交互&#xff0c;学习状态到行为的映射关系&#xff0c;以获得最大积累期望回报的方法。包含环境&#xff0c;动作和奖励三部分&#xff0c;本质是智能体通过与环境的交互&#xff0c;使得其作出的动作所得到的决策得到的总的奖励达…

19. 大数据-技术生态简介

文章目录 前言一、Hadoop介绍1. 简介2. Hadoop发展史3. Hadoop现状 二、Hadoop特性1. Hadoop国外应用2. Hadoop国内应用 三、Hadoop架构变迁1. 发行版本2. Hadoop架构变迁(1.0-2.0变迁)3. Hadoop架构变迁(3.0新版本)4. 综述 四、技术生态体系 前言 大数据&#xff08;Big Data…

DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)示例3: 行选择

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享一篇文章&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 目录 Deep…

用数据唤醒深度好眠,时序数据库 TDengine 助力安提思脑科学研究

在智能医疗与脑科学快速发展的今天&#xff0c;高效的数据处理能力已成为突破创新的关键。安提思专注于睡眠监测与神经调控&#xff0c;基于人工智能和边缘计算&#xff0c;实现从生理体征监测、智能干预到效果评估的闭环。面对海量生理数据的存储与实时计算需求&#xff0c;安…

SQL_语法

1 数据库 1.1 新增 create database [if not exists] 数据库名; 1.2 删除 drop database [if exists] 数据库名; 1.3 查询 (1) 查看所有数据库 show databases; (2) 查看当前数据库下的所有表 show tables; 2 数据表 2.1 新增 (1) 创建表 create table [if not exists…

仿12306项目(4)

基本预定车票功能的开发 对于乘客购票来说&#xff0c;需要有每一个车次的余票信息&#xff0c;展示给乘客&#xff0c;供乘客选择&#xff0c;因此首个功能是余票的初始化&#xff0c;之后是余票查询&#xff0c;这两个都是控台端。对于会员端的购票&#xff0c;需要有余票查询…

第十二届蓝桥杯 异或数列

原题&#xff1a; https://www.acwing.com/problem/content/3424/ 题目大意&#xff1a; A、B两人的数初始值均为0&#xff0c;他们轮流从X数组中取数&#xff0c;可以将该数与自己的数或对方的数进行异或操作&#xff0c;A先手&#xff0c;当X中的数被取完的时候谁的数大谁…

高效编程指南:PyCharm与DeepSeek的完美结合

DeepSeek接入Pycharm 前几天DeepSeek的充值窗口又悄悄的开放了&#xff0c;这也就意味着我们又可以丝滑的使用DeepSeek的API进行各种辅助性工作了。本文我们来聊聊如何在代码编辑器中使用DeepSeek自动生成代码。 注&#xff1a;本文适用于所有的JetBrains开发工具&#xff0c…

项目中同时使用Redis(lettuce)和Redisson的报错

温馨提示&#xff1a;图片有点小&#xff0c;可以放大页面进行查看... 问题1&#xff1a;版本冲突 直接上图&#xff0c;这个错表示依赖版本不匹配问题&#xff0c;我本地SpringBoot用的是2.7&#xff0c;但是Redisson版本用的3.32.5。 我们通过点击 artifactId跟进去 发现它…

clickhouse安装路径

《ClickHouse安装路径指南》 大家好&#xff0c;今天我们将一起学习如何在电脑上找到和理解ClickHouse的安装路径。这将帮助学生、科研人员以及任何对数据库技术感兴趣的人更好地管理他们的数据查询工作。 ClickHouse是一款列式存储数据库管理系统&#xff08;DBMS&#xff09…

时序数据库 InfluxDB 3.0 版本性能实测报告:写入吞吐量提升效果验证

亮点总结&#xff1a; TSBS 测试表明&#xff0c;对于少于 100 万台设备的数据集&#xff0c;InfluxDB OSS 3.0 的数据写入速度实际上比 InfluxDB OSS 1.8 更慢。 对于 100 万台及以上设备的数据集&#xff0c;InfluxDB OSS 3.0 的数据写入性能才开始超过 InfluxDB OSS 1.8。…

AS32X601双核锁步MCU技术优势分析

AS32X601是国科安芯公司研制的一系列基于32位RISC-V指令集车规级MCU处理器芯片。主频高达180MHz&#xff0c;支持双核锁步架构&#xff0c;基于软错误防护技术加持&#xff0c;显著提高芯片安全性能。产品具有高安全、低失效、多IO、低成本、抗辐照等特点。 一、功能安全与可靠…

基于 LeNet 网络的 MNIST 数据集图像分类

1.LeNet的原始实验数据集MNIST 名称&#xff1a;MNIST手写数字数据集 数据类型&#xff1a;灰度图 &#xff08;一通道&#xff09; 图像大小&#xff1a;28*28 类别数&#xff1a;10类&#xff08;数字0-9&#xff09; 1.通过torchvision.datasets.MNIST下载并保存到本地…

电池综合测试仪:科技赋能,精准守护能源安全

在当今这个科技日新月异的时代&#xff0c;电池作为众多电子设备的心脏&#xff0c;其性能的稳定与高效直接关系到设备的运行质量与使用安全。随着电动汽车、可穿戴设备、储能系统等领域的快速发展&#xff0c;对电池性能的检测与评估提出了更高要求。在此背景下&#xff0c;电…

实战案例分享:Android WLAN Hal层移植(MTK+QCA6696)

本文将详细介绍基于MTK平台&#xff0c;适配高通&#xff08;Qualcomm&#xff09;QCA6696芯片的Android WLAN HAL层的移植过程&#xff0c;包括HIDL接口定义、Wi-Fi驱动移植以及wpa_supplicant适配过程&#xff0c;涵盖STA与AP模式的常见问题与解决方法。 1. HIDL接口简介 HID…