访问者 模式

解释器模式

解释器模式就像是一种自定义语言,我们可以定义该语言的语法规则,然后从中解析出具体的命令或表达式,最终执行相应的操作。 类似我们使用的编程语言,区别是有的先编译再执行(C#,JAVA),有的是边解释边执行(Javascript、Python)。 解释器分两个角色,一是表达式,二是上下文,表达式又分为终 ......
解释器 模式

策略模式

[实验任务一]:旅行方式的选择 旅游的出行方式有乘坐飞机旅行、乘火车旅行和自行车游,不同的旅游方式有不同的实现过程,客户可以根据自己的需要选择一种合适的旅行方式。 1. 提交源代码; 2. #include<iostream> 3. using namespace std; 4. class Tra ......
策略 模式

备忘录模式

备忘录模式,也叫快照模式,它可以在不破坏封装性的前提下捕获一个对象的内部状态,并在对象之外保存这个状态,以便在需要的时候恢复到原先保存的状态。 常见的场景比如游戏进度日志,VMWare操作系统快照等,以备后续的恢复。 备忘录模式有三个角色,一是源发器,二是对源发器状态进行记录的备忘录,三是备忘录的管 ......
备忘录 模式

仲裁者模式

仲裁者模式和中介者模式类似,但作用又有不同之处,仲裁者模式是对多个对象的管理协调,而中介者一般是一代一。 仲裁者有两个角色,仲裁者和被仲裁者,使用场景比如winform模式,form就是仲裁者,各种控件就是被仲裁者,仲裁者负责协调管理。 代码示例 package designMode.mediato ......
仲裁者 模式

设计模式(十七)中介者

一、定义 义一个对象来封装一系列的对象交互。中介者模式使各对象不需要显示地相互引用,从而使其耦合松散,而且可以让你相对独立地改变它们之间的交互。中介者模式又称为调停模式,它是一种对象说行为型模式。 二、描述 在中介者模式中,引入了用于协调其他对象/类之间的相互调用的中介者类,为了让系统具有更好的灵活 ......
中介者 设计模式 中介 模式

OB指定开源版本MySQL模式单节点安装

OB指定开源版本MySQL模式单节点安装 yum源处理 yum install -y yum-utils yum-config-manager --add-repo https://mirrors.aliyun.com/oceanbase/OceanBase.repo yum install -y ......
节点 版本 模式 MySQL

Python:设计模式

一、设计模式与面向对象 1.1 设计模式 软件设计阶段针对反复出现的问题提出的统一解决方案。每类问题的解决方案都被系统的命名。 1.2 面向对象 按照一件事的组成元素分别制作进行组装。 1.2.1 三大特性 封装:将对象封装为类,将对象数据操作封装为函数。封装分为类内/类外,私有/公有 继承:父类与 ......
设计模式 模式 Python

会话安全、数据库创建与连接、访问控制、文件加密传输、文件安全性校验功能实现

1. 会话安全 理论设计: 会话安全是确保用户与系统之间通信的安全性。它包括保护用户的身份信息、防止会话劫持等方面的考虑。常见的解决方案包括使用加密通信和安全的身份验证机制。 实现原理: 采用HTTPS协议,通过SSL/TLS协议对通信进行加密,确保数据在传输过程中不被窃听或篡改。使用安全的身份验证 ......
文件 安全性 功能 数据库 数据

java状态模式

1 定义一个接口 2 public interface State { 3 public void handle(); 4 } 5 6 7 /** 8 *具体的状态角色(下单) 9 * Created by Administrator 10 */ 11 public class PlaceAnOrd ......
状态 模式 java

Servlet中访问路径配置为/*时,使用请求转发造成内存溢出

一、问题由来 最近在测试Servlet的请求转发功能,准备抽取一个公共的PageJumpTestServlet,用来做页面跳转功能。 这样不用每次在测试的时候,都单独写一个Servlet用来做页面跳转。自己最初的设想时,在路径配置的 时候使用/toPage/*,访问地址示例http://localh ......
路径 内存 Servlet

个人优化 Github Pages 博客网站访问速度记录

使用 Github Pages 可以方便地搭建自己的静态网站,详细过程参考我的这篇文章。 "使用 hugo 和 Github Pages 搭建个人博客 但由于众所周知的原因,此方法搭建的博客在国内访问速度不佳。因此考虑采用一些方法来加速访问,主要思路是使用 CDN 加速网站的静态资源。 对于不同的静 ......
速度 Github Pages 个人 博客

Python实现软件设计模式4:建造者模式

特点 建造者模式是一步一步构建一个复杂的对象,属于对象创建型模式 将一个复杂对象的构建与他的表示分离,使得同样的构建过程可以创建不同的表示 关注如何逐步地创建一个复杂的对象或产品,不同的创造者定义了不同的创建过程 用户不需要知道内部的具体构造细节、只用指定复杂对象的类型(建造者类型) 角色组成 Bu ......
模式 设计模式 Python 软件

Python实现软件设计模式3:抽象工厂模式

特点 系统中除了有多种产品类型(产品等级结构,如果汁、方便面、矿泉水),还出现了多个品牌(产品族,或农夫山泉、娃哈哈、康师傅、统一等品牌几乎都有这些产品) 在工厂方法模式中,只有一个产品等级结构 一个抽象产品(父类)、多个具体产品(子类)形成一个产品等级结构 产品族是指由同一个工厂生产,位于不同产品 ......
模式 设计模式 工厂 Python 软件

Mysql访问问题,远程连接提示:Host 'xxx' is not allowed to connect to this MySQL server。是mysql未开启mysql远程访问权限导致

1、MySql服务器共享问题 对于在车间工作者,如果远程Mysql,我们这里假定网线连接 GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; 允许对应的主机 ......
mysql 权限 allowed connect server

针对海量数据的存储与访问瓶颈的解决方案

背景 在当今这个时代,人们对互联网的依赖程度非常高,也因此产生了大量的数据,企业视这些数据为瑰宝。而这些被视为瑰宝的数据为我们的系统带来了很大的烦恼。这些海量数据的存储与访问成为了系统设计与使用的瓶颈,而这些数据往往存储在数据库中,传统的数据库存在着先天的不足,即单机(单库)性能瓶颈,并且扩展起来非 ......
海量 瓶颈 解决方案 方案 数据

多开模式,体验Line带来的多重乐趣

随着智能手机的普及和移动互联网的发展,人们对于社交软件的需求也越来越高。而LINE作为一款国际化的社交软件,以其丰富的功能、便捷的交流方式和可爱的表情包赢得了广大用户的喜爱。而在这其中,多开模式更是为用户带来了多重乐趣。 多开模式,顾名思义,就是可以同时打开多个LINE账号的模式。这样,用户就能够用 ......
乐趣 模式 Line

【Web攻防之业务安全实战指南】第6章 业务授权访问模块

6.1 非授权访问测试 6.1.1 测试原理和方法非授权访问是指用户在没有通过认证授权的情况下能够直接访问需要通过认证才能访问到的页面或文本信息。可以尝试在登录某网站前台或后台之后,将相关的页面链接复制到其他浏览器或其他电脑上进行访问,观察是否能访问成功。 6.1.2 测试过程靶场:xvwa-Mis ......
业务 实战 模块 指南 Web

[JS] JS单例模式的实现

单例模式(Singleton Pattern)是最简单的设计模式之一。这种类型的设计模式属于创建型模式,提供了一种创建对象的最佳方式。主要在想控制实例数目,节省系统资源的时候应用。 ......
模式 JS

LVS-DR模式

DR 数据包流向分析: (1)客户端发送请求到 Director Server(负载均衡器),请求的数据报文(源 IP 是 CIP,目标 IP 是 VIP)到达内核空间。 (2)Director Server 和 Real Server 在同一个网络中,数据通过二层数据链路层来传输。 (3)内核空间 ......
模式 LVS-DR LVS DR

[CSharpTips]C# 控制台程序屏蔽关闭按钮,关闭快速编辑模式,注册关闭事件

C# 控制台程序屏蔽关闭按钮,关闭快速编辑模式,注册关闭事件 using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Linq; using Sys ......
控制台 CSharpTips 按钮 模式 事件

2014SQL附加数据库失败,操作系统错误 5:"5(拒绝访问。)"的解决办法

点击数据库右键附加,出现如下错误 使用sql语句附加出现如下 EXEC sp_attach_db @dbname = '你的数据库名', @filename1 = 'mdf文件路径(包缀名)', @filename2 = 'Ldf文件路径(包缀名)' 解决方法: 找到xxx.MDF与xxx_log. ......
quot 错误 办法 数据库 数据

[转]一文搞懂对称加密:加密算法、工作模式、填充方式、代码实现

原文地址:一文搞懂对称加密:加密算法、工作模式、填充方式、代码实现 - 知乎 单向散列加密只能够对消息进行加密(严格来说是计算消息的摘要),想要实现对密文解密,需要使用其它加密方式了。今天介绍一个在信息安全领域中,比较重要的加密方式——对称加密。 下面是本篇讲述内容: 加密、解密和密钥 加密(Enc ......
算法 模式 代码 方式

访问上传至.Net服务器本地的文件。

1 porgame.cs 添加以下代码 //使用默认静态文件目录wwwroot app.UseDefaultFiles(); app.UseStaticFiles(); 2 在项目跟目录下创建wwwroot文件,需要提供访问的视频放在这个文件夹下面 !!!注意,要区分大小写,我之前访问不了,就是创建 ......
服务器 文件 Net

排查网络中那个进程在对外访问那个端口

centos8中怎么查找对外访问5353端口的进程 要查找在 CentOS 8 中对外访问 5353 端口的进程,你可以使用以下命令和工具: lsof命令: 使用 lsof 命令(List Open Files)可以列出系统中打开的文件和进程信息,包括网络连接。以下是一个使用 lsof 查找 535 ......
端口 进程 网络

代理模式

用一个代理类将被代理类和别的类分离开,外面的类想访问被代理的类,要走代理类中转。 为什么要控制对对象的访问? 一方面,为了节约资源。站在迪米特法则的角度看,如果对于一个非常耗资源的大型对象,如果所有的客户端不管是否使用都去初始化这个对象其实是非常耗资源的。 另一方面,为了系统安全。假设我没有一个可以 ......
模式

设计模式:程序员的秘密武器(高手必备)

在过去的几十年的职业生涯中,我观察到许多同事在技术方面取得了显著的进步和能力提升。然而,随着时间的推移,他们似乎逐渐遇到了一个发展的瓶颈。尽管大家都渴望以最快的速度提升自己的技能水平,但他们忽视了一个关键的因素,那就是内功修炼。 是的,我相信大家都知道我们所说的内功心法指的是《设计模式》。接下来,我 ......
设计模式 程序员 武器 秘密 模式

观察者模式

观察者模式通常由两个对象组成:观察者和被观察者。当被观察者状态发生改变时,它会通知所有的观察者对象,使他们能够及时做出响应,所以也被称作“发布-订阅模式”。 示例代码 /** * @author Created by njy on 2023/6/1 * 报纸接口,即被观察者接口 */public i ......
观察者 模式

迭代器模式

迭代器提供了一种统一的方式来访问集合对象中的元素,而不是暴露集合内部的表示方式。简单地说,就是将遍历集合的责任封装到一个单独的对象中,我们可以按照特定的方式访问集合中的元素。 迭代器模式有两个角色,一个是迭代器,一个是聚合器,Java或则c#中的Collection,List,Set,Map就是聚合 ......
模式

状态模式

[实验任务一]:银行账户 用Java代码模拟实现课堂上的“银行账户”的实例,要求编写客户端测试代码模拟用户存款和取款,注意账户对象状态和行为的变化。 1. 提交源代码 2. public class Account 3. { 4. private int userID;//账号 5. private ......
状态 模式

备忘录模式

[实验任务一]:多次撤销 改进课堂上的“用户信息操作撤销”实例,使得系统可以实现多次撤销(可以使用HashMap、ArrayList等集合数据结构实现)。 1. 提交源代码 2. package xuni; import java.util.ArrayList; import java.util.L ......
备忘录 模式