模式
创建型模式-单例模式(使用模块实现)
singletion模块 class Test(): pass a = Test() 调用模块 from singleton.test import a if __name__ == "__main__": for item in range(10): b = a print(id(b)) ......
PostgreSQL 数据库与模式(一)
基本概念 数据库管理系统(DBMS)是用于管理数据库的软件系统。常见的关系型DBMS有Oracle、MySQL、Microsoft SQL Server、PostgreSQL、Db2等。常见的NoSQLDBMS有Redis、MongoDB、Cassandra、Neo4j等。 数据库系统由实例(Ins ......
简单工厂模式:提高代码可维护性与扩展性的设计模式
简单工厂模式是一种创建对象的设计模式,其旨在通过一个共同的工厂类来实例化不同的对象。通过使用统一的接口或基类,并根据客户端的需求返回相应的实例,简单工厂模式可以隐藏对象的具体创建细节,使客户端代码更加简洁和可维护。
在简单工厂模式中,工厂类扮演着关键角色。它负责根据传入的参数或条件决定创建哪种类型... ......
行为模式
## 责任链模式 **责任链模式**是一种行为设计模式, 允许你将请求沿着处理者链进行发送。 收到请求后, 每个处理者均可对请求进行处理, 或将其传递给链上的下个处理者。比如 `kratos`,`gin`等开源库的中间件实现。 ### 代码实现 ```go package main import ( ......
结构型模式
## 适配器模式 适配器模式用于转换一种接口适配另一种接口。比如,现在有个借口是对`json`字符串进行分析等,现在有一些`yaml`文件也要分析,这时候我我们就应该给`yaml`字符串就个适配器,转换成`json`字符串,然后就行分析。 ### 代码实现 ```go package main im ......
结构型模式概述
结构型模式描述如何将类或对象按某种布局组成更大的结构。它分为类结构型模式和对象结构型模式,前者采用继承机制来组织接口和类,后者釆用组合或聚合来组合对象。 由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则”,所以对象结构型模式比类结构型模式具有更大的灵活性。 结构型模式分为以下 7 种: ......
桥接模式
[toc] ### 1. 概述 现在有一个需求,需要创建不同的图形,并且每个图形都有可能会有不同的颜色。我们可以利用继承的方式来设计类的关系: 是针对由多个节点对象(部分)组成的树形结构的对象(整体)而发展出的一种结构型设计模式,它能够使客户端在操作整体对象或者其下的每个节点对象时做出统一的响应,保证树形结构对象使用方法的一致性,使客户端不必关注对象的整体或部分,最终达到对象复杂的层次结构与客户端解 ......
结构型模式-动态代理模式
# 模式类型:结构性模型 # 模型方法:动态代理模式 # 作用:相对于静态代理,动态代理更灵活。不需要手动实现接口类中的所有方法,接口新增方法后动态代理无需修改。 # 使用场景:监控。日志,限流 from abc import ABCMeta, abstractmethod import types ......
13、vlan与交换机端口模式Access、Trunk
交换机每个接口处于不同的冲突域中,但是还是在一个广播域中,当网络中发送一个广播报文后,网络内的终端都能收到,这样消耗网络宽带资源,vlan(虚拟局域网)。 vlan将局域网设备从逻辑上划分为一个个网段,vlan技术主要解决了交换机无法隔离广播域的问题,主要原理是从逻辑上建立多个虚拟网,相同vlan用 ......
一文掌握设计模式(定义+UML类图+应用)
一、引子 从学编程一开始就被告知,要想做一名优秀的程序员两大必要技能:1.源码阅读(JDK、C等底层语言封装) 2.设计模式(使用某种语言优雅的落地典型场景功能)。一般随着工作年限的增长,被迫对底层语言/框架源码阅读的越来愈多,但是设计模式如不刻意去学习,永远不会真正掌握。笔者把设计模式比喻成程序员 ......
结构型模式-静态代理模式
# 模式类型:结构性模型 # 模型方法:静态代理模式 # 作用:在不修改目标代码的情况下,可以控制目标代码的访问,可以在其前后添加自己的业务代码 # 使用场景:监控。日志,限流 from abc import ABCMeta, abstractmethod class ITeacher(metacl ......
构造器模式
大量的构造器设计模式,很多的配置都不建议直接new出来,而且相关的API也有所改动,例如连接参数, * 以前是直接new出HttpConnectionParams对象后通过set方法逐一设置属性, 现在有了构造器,可以通过如下方式进行构造: * SocketConfig.custom().setSo ......
java使用AES算法的CBC模式加密
https://blog.csdn.net/qq_25816185/article/details/81626499?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECT ......
命令模式
命令模式是一种行为设计模式,它将一个方法包装成一个独立的对象。  =>  发送流程 1.发送数据报文,发现是不同网段,但找不到路由,转给默认网关cni0 2.cni0查看宿主机路由表:去往目的pod所在网段转给tun设备flannel0,而后由flanneld进程截获,由它指导内核封装数据报文,由于flanneld进程在启动之初会收集各 ......
07.生成器模式(Builder)
### 使用生成器模式来解决问题 #### 定义 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 ### 生成器模式的结构和说明 * Builder:生成器接口,定义创建一个 Product 对象所需的各个部件的操作。 * ConcreteBuilder:具体的生成器实现 ......
设计模式之适配器模式--新能源的发展
# 前言 本文主要讲述**适配器模式**,文中使用通俗易懂的案例,使你更好的学习本章知识点并理解原理,做到有道无术。 # 一.什么是适配器模式 适配器模式是23种设计模式中**结构型模式**的一种,将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以 ......
读发布!设计与部署稳定的分布式系统(第2版)笔记12_超时模式
 # 1. “模式采用量”绝不是好的质量指标 ## 1.1. 应该形成一种“面向恢复”的思维模式 ## 1.2. 良 ......
Win32k 是 Windows 操作系统中的一个核心组件,它负责处理图形显示、窗口管理和用户交互等功能。在 Windows 中,Win32k.sys 是一个内核模式驱动程序,它提供了访问图形子系统的接口。因此,Win32k 具有较高的权限和特权
Win32k 是 Windows 操作系统中的一个核心组件,它负责处理图形显示、窗口管理和用户交互等功能。在 Windows 中,Win32k.sys 是一个内核模式驱动程序,它提供了访问图形子系统的接口。因此,Win32k 具有较高的权限和特权。 作为一个内核模式驱动程序,Win32k 有比普通用 ......
单例模式的N种写法
1. 饿汉式 优点:写法简单,线程安全 缺陷:占用内存高,对象还没有被使用已经被创建出来了。 2. 懒汉式 优点:写法简单,对象使用时才被创建。 缺陷:线程不安全。 3. 加synchronized 优点:写法简单,对象使用时才被创建。 缺陷:接口性能下降明显。 4. 双重检查 优点:对象使用时才被 ......
利用chatgpt解决单主机多实例模式Redis主从配置的报错问题:Error condition on socket for SYNC: Connection refused
今天在配置redis主从配置时,从实例报错:Error condition on socket for SYNC: Connection refused 我是在单体机上配置三个实例,实现redis的一主二从。 1.首先,创建三个文件夹,名字分别叫7001、7002、7003(我喜欢将应用安装在tmp ......
迭代器模式
### 迭代器模式 这种模式用于顺序访问集合对象的元素,不需要知道集合对象的底层表示。 迭代器模式属于**行为型模式**。 **思考问题**:如何实现顺序访问且不知道集合底层表示? 例子: - 迭代接口 ```java package org.kouhao.design.patterns.迭代模式; ......
建造者模式
### 建造者模式 建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。 这种类型的设计模式属于**创建型模式**,它提供了一种创建对象的最佳方式。 #### **解决问题**: 当一个类的构造函数超过4个,而且某些参数是可选的,我们通常有两个方法来构建他的对 ......
模板模式
### 模板模式 在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。 它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。 这种类型的设计模式属于**行为型模式**。 **适用场景**:一些固定化流程,比如JdbcTemplate. **思 ......
责任链模式
### 责任链模式 **责任链模式**(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。 这种模式给予请求的类型,对请求的发送者和接收者进行解耦。 这种类型的设计模式属于**行为型模式**。 #### **使用登录例子:** - 成员定义 ```jav ......
mysql主从复制模式
1.尝试安装平台软件rpc远程调用模块,解决lib库不全和配置文件地址不对的问题,测试rpc程序运行是否正常。2.尝试安装平台软件monitor模块,解决lib库不全和配置文件地址不对的问题,测试monitor模块运行是否正常。change master to master_host='192.16 ......
VMware中切换命令行和桌面模式
在虚拟机中,一般通过以下步骤来切换命令行和桌面模式: 进入虚拟机中的操作系统。 按下Ctrl+Alt+F1键,在虚拟机中切换到命令行模式。 输入用户名和密码,登录到命令行模式下的操作系统。 在命令行中执行需要的操作,例如安装软件、配置网络等。 当需要返回到桌面模式时,可以按下Ctrl+Alt+F7键 ......