访问者 模式
Day07-设计模式之桥接模式
桥接模式介绍 桥接模式(Bridge Pattern)是将实现与抽象放在两个不同的类层次中,使两个层次可以独立改变,保持各部分的独立性以及应对他们的功能扩展。 UML类图及角色职责 抽象类(Abstraction):定义抽象接口,由聚合关系可知,抽象类中包含一个Implementor类型的对象,它与 ......
Day08-设计模式之装饰者模式
设计模式之装饰者模式 引例 **需求:**假设现在有烧饵块:白米饵块(WhiteRice),紫米饵块(PurpleRice),黄米饵块(yellowRice),调料有热狗(HotDog),油条(oilNoodle),鸡柳(chicken),客户可以单点白米的,或者白米+调料的组合,计算相应的费用,要 ......
关于敏捷开发、系统重构、设计原则、设计模式之间的思考
敏捷开发、系统重构、设计模式是软件开发中不同的概念,它们之间有一些联系和相互影响。 敏捷开发方法强调快速响应客户需求,通过迭代和增量的方式来开发软件。在敏捷开发中,设计模式可以被用来提高软件质量和可维护性,因为设计模式是已经被证明有效的软件设计方案。在开发过程中,团队可以使用设计模式来提高代码的复用 ......
计算机网络——03对等网和共享资源的设置与访问
3.1实验目的 了解对等网的概念和应用 掌握对等网和共享资源的设置与访问 掌握常用网络命令(ipconfig、ping)的基本用法 3.2实验相关知识 对等网的概念 对等网也称“工作组网”,在对等网中没有“域”,只有“工作组”,所以对等网相对比较简单。在对等网中,对等网上各台计算机的有相同的功能,无 ......
docker网络模式
Docker有4种网络模式(--network=) bridge默认模式,分配network namespace和IP,连接到docker0网桥上。 host使用主机IP,不分配network namespace和IP,和宿主机共用network namespace。 container和已存在的某 ......
Golang - Option模式(2)(函数选项模式)
函数式选项模式(Functional Options Pattern) 函数式选项模式是一种在 Go 中构造结构体的模式,它通过设计一组非常有表现力和灵活的 API 来帮助配置和初始化结构体。 优缺点 选项模式有很多优点,例如:支持传递多个参数并且在参数发生变化时保持兼容性;支持任意顺序传递参数;支 ......
Golang - Option模式(函数选项模式)
解释 Option模式的专业术语为:Functional Options Pattern(函数式选项模式)Option模式为golang的开发者提供了将一个函数的参数设置为可选的功能,也就是说我们可以选择参数中的某几个,并且可以按任意顺序传入参数。比如针对特殊场景需要不同参数的情况,C++可以直接用 ......
无显示器如何通过配置文件快速修复树莓派无法通过 SSH 访问的问题 All In One
无显示器如何通过配置文件快速修复树莓派无法通过 SSH 访问的问题 All In One
在没有显示器的情况下如何通过配置系统文件快速的修复树莓派无法通过 SSH 访问的问题 All In One
无显示器 SSH 远程访问 树莓派
......
状态模式
概述 《设计模式》一书中对于 “状态模式” 的描述如下: 允许一个对象在其内部状态发生改变时改变它的行为,使得这个对象看起来像修改了它的类 状态模式的 UML 图如下所示: 一般在以下几种情况下使用状态模式: 一个对象的行为取决于它的状态 一个操作中含有庞大的多分支条件语句,且这些分支依赖于该对象的 ......
C++访问控制public private
#include <iostream> class A{ public: std::string head; private: std::string body; }; int main() { A a; a.head="888"; a.body="999"; return 0; } 报错结果 ma ......
《3D编程模式》写书-第3次记录
大家好,这段时间我完成了“积木模式”、“管道模式”、“多线程模式”、“依赖隔离模式”的初稿 目前我已经完成了所有模式(7个模式)的初稿,下面会给出它们的使用场景,如果您正好能用到,请联系我提前阅读模式的初稿,欢迎大家给出反馈建议,您的大名有机会出现在《3D编程模式》的书中,感谢! 我的QQ号: 39 ......
Java-Day-9(IDE工具 + 包 + 访问修饰符 + 面向对象编程的三大特征)—— Java 中级
Java-Day-9 IDE ( 集成开发环境 ) 工具 Intellij IDEA Eclipse ( 以上两种工具的安装会另行编写随笔 ) IDEA代码常用快捷键 配置:File — settings — Keymap — 搜索、自查 — 右键 Reset Shortcuts 删除已有 — 右键 ......
[Mellanox] 安装MFT并配置网卡为以太网模式
[Mellanox] 安装MFT并配置网卡为以太网模式 当我们想要配置Mellanox网卡时,如果出现了下面情况: $ sudo mst start mst: command not found 这说明我们的系统中缺少MFT。 MFT是一套管理Mellanox网卡的工具,也是MLEX_OFED中的一 ......
项目中的观察者模式
背景 目前开发的项目中,出现过许多次观察者模式,且其和普通的观察者模式有些许不同,为了理解而进行整理。 项目中的观察者模式 类图: 流程:脚本订阅消息队列消息,创建Subject,传送解析后的消息给所有观察者,观察者根据消息类型判断是不是自己关心的消息,是的话就把自己注册到Subject中;Subj ......
通过nginx proxy manager解决https站点访问http接口资源报错问题
浏览器控制台报 Mixed Content: The page at '<URL>' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint '<URL>'. This request has been blo ......
BurpSuite设置上游代理访问内网
转载原文 原理知道了后,开始! 拿到B的shell后,添加路由 拿到B的shell后,开启sock4 在D主机上设置好 最后成功抓到包 ......
java: 无法访问org.springframework.boot.SpringApplication
在运行springboot项目中的Application.java时出现:错误的类文件: /D:/install/Maven/apache-maven-3.6.1/repository/org/springframework/boot/spring-boot/3.0.5/spring-boot-3. ......
Spring03_代理模式
一、静态代理 (一)代理模式概述 在不改变原始类(或叫被代理类)的情况下,通过引入代理类来给原始类附加功能。一般情况下,我们让代理类和原始类实现同样的接口。但是,如果原始类并没有定义接口,并且原始类代码并不是我们开发维护的。在这种情况下,我们可以通过让代理类继承原始类的方法来实现代理模式。 ......
局域网跨机器访问其他机器上虚拟机的Redis
以上 修改完毕之后就可以从别人的电脑访问你主机的ip地址+主机端口号 直接访问虚拟机的redis了 (防火墙开放了主机的相应端口) 然后直接下一步下一步到名称 自己起个名称 点击完成就可以了 ......
curl 命令访问双向认证的Nginx
curl 命令访问双向认证的Nginx # 这里一定要使用证书相对路径或绝对路径,不能写成 --cert client.crt ....这种形式curl -k --cert ./client.crt --key ./client.key https://10.10.10.11 ......
附加SQL Server数据库时出现“拒绝访问”提示的解决方法之一
在给很多同学远程协助附加SQL Server数据库的时候经常出现“拒绝访问”的错误提示,这种提示经常出现在Windows 10或11操作系统上,原因可能是使用操作系统的用户权限的问题,也就是操作系统用户不是管理员,也有可能是BUG,因为有些同学的电脑上使用操作系统的用户就是管理员,这种问题还有另外一 ......
03装饰者模式
#例子 星巴兹是以扩张速度最快而闻名的咖啡连锁店。因为扩张速度实在太快,他们着急更新订单系统,来匹配他们的饮料供应要求。 ##实现1 继承 购买咖啡时,也可以要求其中加入各种调料,例如:蒸奶,豆浆 很明显,星巴兹为自己制造了一个维护噩梦,如果牛奶的价钱上扬,怎么办?新增一种焦糖调料风味时,怎么办 调 ......
Java的访问修饰符
为了实现面向对象程序设计(OOP)的封装这个特性,需要程序设计语言提供一定的语法机制来支持。这个语法机制就是访问权限控制(访问修饰符:public、protected、private、default)。 ......
python获取文本中网址并判断是否可以正常访问
# encoding=utf8 #-*-coding:utf-8 -*- import re import requests # 打开文本文件并读取内容 with open('input.txt', 'r',encoding="utf-8") as f: content = f.read() # 使 ......
解决vue项目访问地址自动添加#号问题
新建一个vue项目,访问地址url后自动添加#号,很不美观。 在项目路由文件index.js文件中,将路由模式修改为history,代码如下: export default new Router({ mode: 'history', routes: [ { path: '/', name: 'Hel ......
访问权限控制
面向对象的核心思想之一就是封装,只把有限的方法和成员公开给别人,这也是迪米特法则的内在要求,使外部调用方对方法体的实现细节知道得尽可能少。如何实现封装呢?需要使用某些关键字来限制类外部对类内属性和方法的随意访问,这些关键字就是访问权限控制符。 JAVA中的访问权限包括四个等级,权限控制严格程度由低到 ......
PyQt5 软件在 macOS HiDPI 模式下出现字体模糊的问题
PyQt5 编写的软件在 Windows 上会自动适应屏幕的缩放,但在 macOS 上却出现了意料之外的字体模糊的问题。以焰火十二卷为例,在 macOS HiDPI 模式下,重新编译后的界面相比之前要更加清晰。 ......
运行mysql容器以及通过命令行访问数据库
运行mysql容器 下面命令将创建一个名为 mysql-8.0.31 的容器,并将容器中的 MySQL 根密码设置为 root。 docker run --name mysql-8.0.31 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0. ......
rust模式匹配(可驳模式匹配与不可驳模式匹配)
rust的一个特性就是模式匹配(OOP编程语言好像都有?),模式匹配常常和变量绑定一起考虑 常见的模式匹配有: match、if let、while let、let、for、函数参数等等 (for和let我个人认为说是模式匹配,其实有点牵强了,除非这样let (x,y) = (1,2) 可驳与不可驳 ......