状态20230426模式16
中介者模式 Mediator
一、定义 定义一个封装一组对象如何交互的对象 通过使对象明确的相互饮用来促进松散耦合,并允许独立地改变他们的交互】 二、适用场景 系统中对象之间存在复杂的引用关系,产生的相互依赖关系结构混乱且难以理解 交互的公共行为,如果需要改变行为则可以增加新的中介者类 类似于聊天室(群组) 使用观察者模式负责中 ......
备忘录模式 Memento
一、定义 保存一个对象的某个状态,以便在适当的时候恢复对象 后悔药 二、适用场景 保存及恢复数据相关业务场景 后悔的时候,即想恢复到之前的状态 三、优缺点 1、优点 为用户提供一种可恢复机制 存档信息的封装 2、缺点 资源占用 四、代码实现 https://github.com/Meidanlong ......
责任链模式 Chain Of Responsibility
一、定义 为请求创建一个接收此次请求对象的链 特点:类中包含一个和自己同类型类的对象 二、适用场景 一个请求的处理需要多个对象当中的一个或几个协作处理 三、优缺点 1、优点 请求的发送者和接收者(请求的处理)解耦 责任链可以动态组合 2、缺点 责任链太长或者处理时间过长,影响性能 责任链有可能过多 ......
12.20设计模式复习安排
1.默写每个模式的定义和例子 2.每个原则的定义 3.对应模式代码核心内容 4.看模式实例画类图 对于下述场景,选择合适的软件设计模式进行设计,说明选用的设计模式的名称,简单描述该模式,并画出对应的类图。(共 15 分,其中软件设计模式的名称 3 分,模式描述 4 分,类图 8 分) 题一: 题二: ......
【SpringBootWeb入门-16】Mybatis-基础操作-多条件查询操作&XML文件配置SQL
1、章节回顾 上一篇文章我们讲解了Mybatis的增改查操作,本篇继续学习Mybatis的复杂查询操作(多条件查询)。 2、增删改查操作-多条件查询操作 根据条件姓名、性别、入职时间来查询员工表emp数据,其中员工姓名支持模糊匹配,性别进行精确匹配,入职时间进行范围查询,查询结果按照最后修改时间倒序 ......
代理模式
Subject泛化成代理类和一个真实类,而代理类又依赖真实类,服务器可以通过代理类进而使用真实类 例如: Proxy: Real real = new Real(); request(); login(boolean a): if a == true: return real.request(); ......
java设计模式
三大种类型的设计模式 创建型模式:关注对象的创建过程。 结构型模式:关注对象与类的组织模式 行为型模式:关注对象之间的交互 23种设计模式 简单工厂模式 定义:根据参数的不同返回不同类的实例。 工厂方法模式 定义:通过工厂子类来确定究竟应该实例化哪一个具体产品类 例子:日志记录器 抽象工厂模式 定义 ......
Odoo16—权限控制
我们看到可以为一个用户组配置以下几方面的控制:菜单、视图、访问权限、记录规则。既然如此,那就赶快创建一个用户组,然后配置权限,然后添加用户,然后……不就可以达到我想要的权限控制目的了吗 ......
命令模式
#include <iostream> #include <vector> using namespace std; class Light { public: void on() { cout << "灯亮了" << endl; } void off() { cout << "灯灭了" << en ......
docker网络模式
Docker网络 我们使用容器,不单是运行单机程序,当然是需要运行网络服务在容器中,那么如何配置docker的容器网络,基础网络配置,网桥配置,端口映射,还是很重要。 docker网络功能 docker的网络功能就是利用Linux的network namespace,network bridge,虚 ......
设计模式—代理模式
介绍 代码 接口 创建接口 Image public interface Image { void display(); } 实体类 创建实体类 RealImage public class RealImage implements Image { private String fileName; ......
设计模式—观察者模式
介绍 代码 观察者父类 只有一个属性 subject 表示订阅的主题。update 方法用于更新观察者本身 public abstract class Observer { protected Subject subject; public abstract void update(); } 主题类 ......
Python实现软件设计模式6:单例模式 Singleton Pattern
动机 针对某个类,为了保证系统中只创建一个示例,并且易于被访问(例如操作系统的任务管理器,软件的登陆注册界面) 自行创建这个实例,无法从外部创建这个实例,向系统提供这个实例 饿汉式单例 Java版本 在类加载的时候,就创建对象,如果后续得不到使用,可能会造成内存资源浪费 懒汉式单例 Java版本 只 ......
Python实现软件设计模式5:原型模式 Prototype Pattern
动机 对象的克隆问题,想要复制出本对象的一个副本,属性方法一模一样 从需求上来说,先快速克隆对象,后续根据需求再进行对象局部属性的修改 区分为深克隆和浅克隆两个版本,默认为浅克隆 角色 Prototype 抽象原型类 Concrete Prototype 具体原型类 Client 客户类 浅克隆与深 ......
12.19设计模式复习
职责链模式 定义:避免发送者和处理者耦合,让多个对象都能处理请求,让对象形成一条链,把请求传递下去,直到有对象处理。 模式角色: 抽象处理对象 具体处理对象 客户 类图: 抽象处理对象与具体处理对象为继承关系 抽象处理对象与自己是聚合关系 抽象处理对象与客户是依赖关系 命令模式 定义:将请求封装起来 ......
适配器模式
在你成功拿到五心之钢后,为了能够好好玩这把天选局,偷摸溜了出去,进到厕所,发现商店中静静躺着一张伊泽瑞尔,而后又在接下来的选秀中拿到铲子和腰带,你激动的合成了心之钢转,在你放上伊泽瑞尔后,发现你现在没有凯隐,因此你将一张布里茨放了上去,给它一张心之钢转,当当当!七心之钢! 心之钢转就是适配器, 布里 ......
设计模式—模板模式
介绍 代码 游戏模板类 定义一个游戏模板虚类 Game,抽象并规范好游戏的进行流程 public abstract class Game { abstract void init(); abstract void startPlay(); abstract void endPlay(); // 模板 ......
16.特殊控件 Toast
Toast 是什么 一种消息框类型 永远不会获得焦点 无法被点击 Toast显示的时间有限,Toast会根据用户设置的显示时间后自动消失 是系统级别的控件,属于系统settings Toast类的思想: 就是尽可能不引人注意,同时还向用户显示信息,希望他们看到 Toast 定位 appium 用的是 ......
设计模式—策略模式
介绍 在策略模式(Strategy Pattern)中一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。 在策略模式定义了一系列算法或策略,并将每个算法封装在独立的类中,使得它们可以互相替换。通过使用策略模式,可以在运行时根据需要选择不同的算法,而不需要修改客户端代码。 代码 ......
linux:date <=> timestamp:转换;10进制 <=> 16进制;读取二进制原始数据hexdump
进制转换: 使用linux的 coreutils 的 printf 函数 : printf "%d" 0xf23b9 printf "%x" 12345 date timestamp 转换: date +"%F_%T" -d @时间戳的长整型值 date +"%s" [now] tail\head ......
玩转Spring状态机
本文主要介绍了设计模式中的状态模式,并在此基础上介绍了Spring状态机相关的概念,并根据常见的订单流转场景,介绍了Spring状态机的使用方式。文中如有不当之处,欢迎在评论区批评指正。 ......
单例模式
现在,你正在王建民的软工课上昏昏欲睡,看着他唾沫星子乱飞,手舞足蹈,而你并没有像你旁边的人一样陷入对web的癫狂状态,只觉得飞舞的口水尤为助眠。 此时,王建民使用他红色的点点笔,狠狠的指向了你,你疾呼曰:“非我困顿也,实乃烈日灼目乎,二睛战战,涕难掩尔,低头之过非我罪也” 建民点头曰:“然,如此拉帘 ......
Mac Scp Connection refused(关闭安全模式)
一、查看安全机制 csrutil status # System Integrity Protection status: enabled => 安全模式开启 # System Integrity Protection status: disabled => 安全模式未开启 二、重启 Intel 处 ......
原型模式
欢迎来到9999年,现在拥有着最先进的克隆技术... 你因为学java学到恶心,但是王建民还TMD让你敲代码,写web,做服务器,做数据清洗 %@(#&……(#()(!(……#*(!——+!I#)(&#(!)&(#!%*#)……*#)Y)#B#(!Y&T!NEF(Y*!(……*!……)4 好了,发泄 ......
Java编程--委派设计模式
目录委派设计模式委派 (Delegation) 委派设计模式 委派 (Delegation) 委派(Delegation)是一种设计模式,通常用于实现代码的解耦和复用。简单来说,委派是指一个对象将自己的部分职责,即一些特定的任务,转交(委派)给其他对象来处理。这种模式允许对象组合实现功能,而不是通过 ......