访问者 模式

策略模式

在开发中经常遇到这种情况,实现某个功能有多种算法策略,我们可以根据不同环境或者条件选择不同的算法策略来完成该功能,比如查找、排序等。 一种常用方式是硬编码在一个类中,如需要提供多种查找算法,可以将这些算法写到一个类中,在该类中提供多个方法,每一个方法对应一个具体的查找算法;当然也可以将这些查找算法封 ......
策略 模式

代理模式

代理模式通过代理对象来访问真实对象,相当于对真实对象进行了封装操作。 Subject:真实对象和代理对象的共同接口; Proxy:代理对象,实现了与真实对象相同的接口,所以在任何时刻都能够代理真实对象,并且代理对象内部包含了真实对象的引用,所以它可以操作真实对象,同时也可以附加其他的操作,相当于对真 ......
模式

单例模式

单例模式可以确保系统中某个类只有一个实例,该类自行实例化并向整个系统提供这个实例的公共访问点,除了该公共访问点,不能通过其他途径访问该实例。 单例模式的优点在于: 系统中只存在一个共用的实例对象,无需频繁创建和销毁对象,节约了系统资源,提高系统的性能 可以严格控制客户怎么样以及何时访问单例对象。 在 ......
模式

责任链模式

职责链可以将请求的处理者组织成一条链,并将请求沿着链传递,如果某个处理者能够处理请求则处理,否则将该请求交由上级处理。 所以责任链模式有以下几个优点: 降低耦合度,将请求的发送者和接收者解耦。反映在代码上就是不需要在类中写很多丑陋的 if….else 语句,如果用了职责链,相当于我们面对一个黑箱,只 ......
模式 责任

适配器模式

适配器模式通过使用适配器类(Adapter)将被适配类包装以兼容目标接口,将目标接口和被适配类解耦。适配器模式符合“开闭原则”,可以在不修改原代码的基础上增加新的适配器类;所以,适配器模式比较适合以下场景: 系统需要使用新的目标接口,而这些接口不符合现有系统的类所期望的接口。 适配器模式的实现方式 ......
适配器 模式

Python 多进程编程:创建进程的三种模式之spawn、fork、forkserver

进程是操作系统分配资源的最小单位,进程之间是相互隔离的,一般一个应用程序就对应一个进程。进程中可以包含多个线程,同一进程内的多线程可以共享进程内的部分资源。由于进程之间有隔离机制,因此在并发编程中,进程之间更加注重通信(或者说资源共享),而多线程编程更加注重线程同步(协同执行)。 Python中有 ......
进程 forkserver 模式 Python spawn

.Net 访问电子邮箱

访问电子邮件有两种协议 IMAP 客户端与服务端同步(包括阅读、标记、移动、删除等操作) 本质是从邮件服务读取邮件信息,而不是将其下载至本地客户端进行存储 仅在单击邮件时下载邮件 不会自动下载附件 相较于pop可以更快的检查邮件 删除 仅是将其标记为“已删除”,并在收件箱中隐藏;也可以通过设置在服务 ......
电子邮箱 邮箱 电子 Net

java-策略模式的简单应用

我以我在实际项目中的应用举例 场景如下:MQTT收到消息之后,根据不同的标识(operator)去进行不同的处理 1.新建接口MqttCallBackService<T> public interface MqttCallBackService<T> { //形参的转换方法 T parseMessa ......
策略 模式 java

PXE批量装系统之GHO恢复模式针对同型号同批次机器网络装机

PXE批量装系统之GHO恢复模式针对同型号同批次机器网络装机 1.引入 预启动执行环境(Preboot eXecution Environment,PXE)也被称为预执行环境,提供了一种使用[网络接口Network Interface)启动计算机的机制。这种机制让计算机的启动可以不依赖本地数据存储设 ......
批次 机器 模式 系统 网络

js策略模式 以及 es6中 ?? 的用法

策略模式,es6中 ?? 的用法 const judge = function(status){ const map = [ 0: '普通用户', 1: '管理员', 2: '超级管理员' ] return map[status]??'未知用户' } ?? 是ES6提供的一个操作符,被称为非空运算符 ......
策略 模式 es6 es

selenium 设置chrom手机模式

https://blog.csdn.net/qq_42623386/article/details/123391709 from selenium import webdriver from selenium.webdriver.chrome.options import Options from ......
selenium 模式 手机 chrom

Linux 网络配置 ---桥接模式---最简单的方法!!!

1.桥接模式( Bridged) VMware桥接模式,也就是将虚拟机的虚拟网络适配器与主机的物理网络适配器进行交接,虚拟机中的虚拟网络适配器可通过主机中的物理网络适配器直接访问到外部网络。简而言之,这就好像在上图所示的局域网中添加了一台新的、独立的计算机一样。因此,虚拟机也会占用局域网中的一个IP ......
模式 方法 Linux 网络

flask项目部署后,网站访问速度很慢

在使用阿里云服务器部署完flask项目后,实际访问网站发现网站加载速度慢 问题分析: 打开开发者工具-网络,发现echarts文件及其3D库加载时间过长,页面空白时间长,用户等待时间长,如下图 解决办法: 1、利用CDN内容分发网络使用户根据自己网络的特点更快、更稳定地访问到节点服务器中的资源,从而 ......
速度 项目 flask 网站

27、资源对象-Service【IPVS代理模式】

1、基础知识 1.1、知识点回顾 1.2、关键点 ipvs会在每个节点上创建一个名为kube-ipvs0的虚拟接口,并将集群所有Service对象的ClusterIP和ExternalIP都配置在该接口; - 所以每增加一个ClusterIP 或者 EternalIP,就相当于为 kube-ipvs ......
对象 Service 模式 资源 IPVS

Django-admin实现管理员或特定组或人员可访问数据

比如有些时候用户只能看到自己登录用户的数据,其他不允许查看访问。 但对超级管理员或特定组或特定人员进行例外 1 def get_queryset(self, request): 2 qs = super(LinksAdmin, self).get_queryset(request) 3 if req ......
Django-admin 管理员 人员 数据 Django

tp6多应用模式安装流程

1、composer执行以下命令,安装命名为 tp_test 目录的tp6稳定版本 composer create-project topthink/think tp_test 2、安装多应用模式扩展 think-multi-app 注意此处获取位置不能再获取tp6目录的位置执行,应进入项目目录,我 ......
流程 模式 tp6 tp

C#设计模式

本笔记摘抄自:https://www.cnblogs.com/PatrickLiu/p/8250985.html,记录一下学习过程以备后续查用。 ......
设计模式 模式

解决调试模式项目启动不了,非调试可以启动

在idea中按 “ctrl+shift+f8” 清理掉所有不认识的端点,留下自己的端点即可 ......
模式 项目

C# 打开edge浏览器并访问指定的url

using System.Diagnostics; // ... Process.Start("msedge", "https://www.luocore.com"); ......
浏览器 edge url

11-springboot静态资源访问

静态资源:js, css, html, 图片,音视频等; 静态资源路径:是指系统可以直接访问的路径,且路径下的所有文件均可被用户直接访问; Spring Boot默认静态资源目录位置位于classpath下,目录名需符合如下规则: /static /public /META-INF/resource ......
静态 springboot 资源 11

chatgpt 可以访问的国内网站

https://ai.okmiku.com/chat/ 这个要微信扫码登录,而且总共可以问的次数有限制,30次 https://chat.plexpt.com/ ......
chatgpt 网站

抽象工厂模式的运用

一、案例背景 计算机包含内存(RAM),CPU 等硬件设备,根据如图所示的“产品等级结构-产品族示意图”,使用抽象工厂模式实现计算机设备创建过程并绘制类图 二、实现步骤 根据题意,使用抽象工厂模式并画出类图,类图中应包含一个抽象工厂类 AbstractFactory,PcFactory 和 MacF ......
工厂 模式

Redis配置哨兵模式

假设已经提前部署好Redis主从配置 1.在每台redis主机部署哨兵 ,修改 /sentinel.conf port 26379 # 默认端口26379 daemonize yes # 设置为后台启动 logfile '/mytest/logdata/host-name-sentinel.log' ......
哨兵 模式 Redis

前端设计模式——备忘录模式

备忘录模式(Memento Pattern):是一种行为型设计模式,在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。在JavaScript中,可以使用闭包来实现备忘录模式。 备忘录模式通常用于处理用户界面的状态。当用户与应用程序交互时,应用程序会根据用户的输入更改其状态。 ......
模式 设计模式 备忘录 前端

ASP.NET CORE 托管IIS第一次访问慢

IIS8.0配置方式 应用程序池->"常规"->“启动模式”->"AlwaysRunning" 网站->"高级设置"->"预加载已启用" ......
第一次 CORE ASP NET IIS

VMware虚拟机三种网络模式:桥接模式,NAT模式,仅主机模式

VMnet0:用于桥接模式下的虚拟交换机 VMnet1:用于仅主机模式下的虚拟交换机 VMnet8:用于NAT模式下的虚拟交换机 在Windows主机上对应VMware Network Adapter VMnet1和VMware Network Adapter VMnet8两块虚拟网卡,因为VMno ......
模式 主机 VMware 网络 NAT

暗夜发光,独自闪耀,盘点网页暗黑模式(DarkMode)下的特效和动效,CSS3实现

众所周知,网页的暗黑模式可以减少屏幕反射和蓝光辐射,减少眼睛的疲劳感,特别是在夜间使用时更为明显。其实暗黑模式也给霓虹灯效应(Neon Effect)提供了发挥的环境。 霓虹灯效应是一种视觉效果,其特点是在深色背景上使用鲜艳的颜色来产生强烈的视觉冲击。这种效应通常用于设计海报、广告、标志和网页等。霓 ......
DarkMode 特效 模式 网页 CSS3

记录一个常犯的错误:直接访问数据结构内部的数组

在xcpc竞赛中,我们通常不会封装用到的数据结构,在这种情况下常常出现直接访问到数据结构内部数组的情况,这种情况因为自己乍一看并不影响算法因此debug时很难找出来 例如树状数组中,初始化应当是从1一直add到n,而非遍历数组初始化。不过这种错误出现的不多,常见的是在循环之前对某个位置特殊处理时。例 ......
数据结构 数组 错误 结构 数据

20.(行为型模式)java设计模式之迭代器模式

一、什么是迭代器模式(IteratorPattern) 提供—种方法顺序访问一个聚合对象中各个元素,而又无须暴露该对象的内部实现,属于行为型模式。 应用场景: —般来说,迭代器模式是与集合是共存的,只要实现一个集合,就需要同时提供这个集合的迭代器,就像java中的Collection,List、Se ......
模式 设计模式 行为 java 20

JNDI RMI 远程访问(LOG4j2漏洞底层原理)

JDK 版本 8u112 客户端(模拟被攻击的网站) 服务端(注册 RMI 服务,给被攻击网站提供 RMI 服务) 服务端 IP 192.168.3.175 恶意类(客户端发送请求给服务端,服务端再请求恶意类予以返回) 需要先将恶意类编译成 class 文件再存放到网站上,再通过命令开启服务 恶意类 ......
底层 漏洞 原理 LOG4j2 JNDI