内核 模式

Unity-观察者模式(observer)

Unity-观察者模式(observer) 引言 ​ 了解完委托(delegate)与事件(event)之后,我们来讨论一个问题。 ​ 假设我们有一个热水器,我们给他同上电,当水温超过95度的时候:1、扬声器会开始发出语音,告诉你温度;2、液晶屏也会改变水温的显示,来提示水已经烧开了 ​ 现在我们需 ......
观察者 observer 模式 Unity

Unity-工厂设计模式

Unity-工厂设计模式 原文出处:工厂方法设计模式 (refactoringguru.cn) 简介 ​ 工厂方法模式是一种创建型设计模式, 其在父类中提供一个创建对象的方法, 允许子类决定实例化对象的类型。 工厂(方法)模式 问题引入 ​ 假设你正在开发一款物流管理应用。 最初版本只能处理卡车运输 ......
设计模式 工厂 模式 Unity

pgsql 查询对应模式下的表结构语句

select table_name, column_name, data_type, udt_name, table_catalog, table_schema, table_name, column_name, ordinal_position, column_defaultfrom inform ......
语句 模式 结构 pgsql

学习随笔(设计模式:装饰模式)

内容 今天学习了新的设计模式,装饰模式。装饰模式:动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更加灵活。 收获 1.当我们在设计软件时,考虑使用基类和派生类的时候,就可以考虑是否可以使用装饰模式,因为装饰模式比生成子类更加灵活 2.当我们对一个已有的类添加额外的功能时,开放 ......
模式 设计模式 随笔

软件设计实验12:外观模式

[实验任务一]:计算机开启 在计算机主机(Mainframe)中,只需要按下主机的开机按钮(on()),即可调用其他硬件设备和软件的启动方法 ,如内存(Memory)的自检(check())、CPU的运行(run())、硬盘(HardDisk)的读取(read())、操作系统(OS)的载入(load ......
外观 模式 软件

软件设计Tutorial 6_原型模式

[实验任务一]:向量的原型 用C++完成数学中向量的封装,其中,用指针和动态申请支持向量长度的改变,使用浅克隆和深克隆复制向量类,比较这两种克隆方式的异同。 实验要求: 1. 画出对应的类图; 2. 提交源代码(用C++完成); #include <iostream> #include <cstri ......
原型 Tutorial 模式 软件

软件设计Tutorial 13_享元模式

[实验任务一]:围棋 设计一个围棋软件,在系统中只存在一个白棋对象和一个黑棋对象,但是它们可以在棋盘的不同位置显示多次。 实验要求: 1. 提交类图; 2.提交源代码; 3.注意编程规范; 4.要求用简单工厂模式和单例模式实现享元工厂类的设计。 package Xiang; public class ......
Tutorial 模式 软件 13

11月1日《软件需求模式》阅读笔记一

软件需求这门课课程要求精读一门关于软件需求方面的书,我选择了《软件需求模式》这本书,从这本书来了解一下软件需求的一些流程以及需要软件工作人员做好那些事情。 首先从这本书的前言中,我知道了这本书先是要教会我们关于需求的概念,让我们知道什么是需求,然后就是教我们各种关于需求的模式,这本书中有30多个需求 ......
需求 模式 笔记 软件

单例模式C++实现

单例模式 全局静态变量实现饿汉式单例模式 饿汉式实现方式是线程安全的。 黑 #include using namespace std; /* 饿汉式单例模式 */ class SingleObject{ private: static SingleObject instance; SingleObj ......
模式

c#中代理模式详解

基本介绍: “代理”顾名思义指以他人的名义,在授权范围内进行处理事情的意思。 在编程语言中的则解释为:为其他对象提供一种代理以控制对这个对象的访问。 从释义上不难解读,代理本质就是一个中介,客户通过中介来访问原对象。本质就是在原对象基础上包了一层封装。 那么问题来了,为什么不直接使用原对象,反而多此 ......
模式

2.3 Windows驱动开发:内核字符串转换方法

在内核编程中字符串有两种格式`ANSI_STRING`与`UNICODE_STRING`,这两种格式是微软推出的安全版本的字符串结构体,也是微软推荐使用的格式,通常情况下`ANSI_STRING`代表的类型是`char *`也就是`ANSI`多字节模式的字符串,而`UNICODE_STRING`则代... ......
字符串 内核 字符 Windows 方法

2.4 Windows驱动开发:内核字符串拷贝与比较

在上一篇文章`《内核字符串转换方法》`中简单介绍了内核是如何使用字符串以及字符串之间的转换方法,本章将继续探索字符串的拷贝与比较,与应用层不同内核字符串拷贝与比较也需要使用内核专用的API函数,字符串的拷贝往往伴随有内核内存分配,我们将首先简单介绍内核如何分配堆空间,然后再以此为契机简介字符串的拷贝... ......
字符串 内核 拷贝 字符 Windows

享元模式

说到享元模式,第一个想到的应该就是池技术了,String常量池、数据库连接池、缓冲池等等都是享元模式的应用,所以说享元模式是池技术的重要实现方式。 比如我们每次创建字符串对象时,都需要创建一个新的字符串对象的话,内存开销会很大,所以如果第一次创建了字符串对象“adam“,下次再创建相同的字符串”ad ......
模式

Hash模式基于锚点,以及onhashchange事件 —— 通过锚点的值作为路由地址

前端路由有两种模式:mode:hash/histroyhash: 1.hash的优点是兼容性比较高,可以直接在项目布署上线时使用。 2.hash的缺点是#不美观影响url的美感,并且如果移动端分享严格限制,可能会报错 history: 1.history的优点是不会影响到url的美感,提高了可观赏性 ......
路由 onhashchange 模式 事件 地址

学习随笔(设计模式:面向对象原则)

内容 今天学习了面向对象的几种设计思想原则,之前一直是C开发,所以面向过程的思想比较严重。面向对象的四个好处:可维护好、可拓展性好、可复用性好、灵活性好。 收获 1.单一职责原则:封装一个类,职责应该单一,仅有一个以其它变换的原因,所以要做好类的职责分离。 2.开放-封闭原则:软件实体(类、模块、函 ......
设计模式 随笔 对象 原则 模式

每日随笔——适配器模式

[实验任务一]:双向适配器 实现一个双向适配器,使得猫可以学狗叫,狗可以学猫抓老鼠。 实验要求: 1.画出对应的类图; 2.提交源代码; 3.注意编程规范。 类图 源码: Cat package sc8; public interface cat { void catchMouse(); void ......
适配器 随笔 模式

软件设计模式学习每日总结-第一天

Uml类图 1、 分三层,从上至下分别为类名,属性,方法。 2、 类与类之间的关系:关联(聚合,组合)、依赖、继承、实现。 3、 依赖是最低耦合,继承是最高耦合。 七大原则 1、 开闭原则:程序代码对扩展开发,对修改关闭。 2、 里氏代换原则:子类可以扩展父类功能,但是不要修改父类原有的功能。 3、 ......
设计模式 模式 软件

Spartacus CSR 渲染模式下的 home page 网络请求

Spartacus CSR 渲染模式下的 home page 网络请求如下,其中第一个请求就是 baseSites OCC API 调用。 Spartacus是一个开源的、响应式的电子商务前端框架,是基于Angular构建的,旨在帮助企业快速构建现代化的电子商务网站。OCC(Omni Commerc ......
Spartacus 模式 网络 home page

访问者模式

访问者模式 1.说明 同一个事物的不同视角下访问信息的不同 家长视角下的老师-》教学质量怎么样 家长视角下的学生-》分数好不好 校长视角下的老师-》老没有被投诉 校长视角下的学生-》是不是三好学生 2.抽象代码结构 2.1 抽象角色,老师,学生 User.java @NoArgsConstructo ......
访问者 模式

2.2 Windows驱动开发:内核自旋锁结构

提到自旋锁那就必须要说链表,在上一篇`《内核中的链表与结构体》`文章中简单实用链表结构来存储进程信息列表,相信读者应该已经理解了内核链表的基本使用,本篇文章将讲解自旋锁的简单应用,自旋锁是为了解决内核链表读写时存在线程同步问题,解决多线程同步问题必须要用锁,通常使用自旋锁,自旋锁是内核中提供的一种高... ......
内核 Windows 结构 2.2

2.1 Windows驱动开发:内核链表与结构体

在`Windows`内核中,为了实现高效的数据结构操作,通常会使用链表和结构体相结合的方式进行数据存储和操作。内核提供了一个专门用于链表操作的数据结构`LIST_ENTRY`,可以用来描述一个链表中的每一个节点。使用链表来存储结构体时,需要在结构体中嵌入一个`LIST_ENTRY`类型的成员变量,用... ......
内核 Windows 结构 2.1

观察者模式

定义了对象之间一种一对多的依赖关系。让一个对象的改变能够影响其他对象。发生改变的对象称为观察者对象,被通知的对象称为观察者。 一个观察目标可以对应多个观察者 可以根据需要增加和删除观察者,使传统体系更易于扩展,这是观察者的模式动机 模式定义: 定义对象间的一种一对多依赖关系,使得每当一个对象状态发生 ......
观察者 模式

C语言——共用体union存储结构与大小端存储模式

1、大小端存储模式 大端:低位数据字节存储在高地址 小端:低位数据字节存储在低地址 注释:例如int的权重低的8bit,低位指的是00000001 00000000 00000000 00000000 00000001 2、共用体union存储结构 共用体内每段数据元素从低地址开始存储。 注释:数组 ......
大小 语言 结构 模式 union

设计模式(十二)代理

一、定义 给某一个对象提供一个代理或占位符,并由代理对象控制对原对象的访问。代理模式是一种结构型模式。 二、描述 代理模式的结构比较简单,其核心是代理类,为了让客户端能够一致性地对待真实对象和代理对象,在代理模式中引入了抽象层。包含以下三个角色: 1、Subject(抽象主题角色):它声明真实主题和 ......
设计模式 模式

Spring5学习随笔-Spring5的基本介绍、工厂设计模式

学习视频:【孙哥说Spring5:从设计模式到基本应用到应用级底层分析,一次深入浅出的Spring全探索。学不会Spring?只因你未遇见孙哥】 第一章、引言 ![](https://img2023.cnblogs.com/blog/3321544/202311/3321544-2023111312 ......
Spring5 Spring 设计模式 随笔 工厂

单例模式C++实现

局部静态变量实现懒汉单例模式 ``` //更简单的线程安全初始化 #include using namespace std; class SingleObject{ private: SingleObject(){std::cout 饿汉式单例模式 ``` #include using namesp ......
模式

生成器模式

[实验任务一]:计算机组装 使用建造者模式,完成下述任务:计算机组装工厂可以将CPU、内存、硬盘、主机等硬件设备组装在一起构成计算机,计算机的类型可以是笔记本,也可以是台式机。 package Tutorial_5; public class Client { public static void ......
生成器 模式

单例模式

[实验任务一]:学号的单一 仿照课堂的身份证的例子,实现每个同学仅有一个学号这一问题。 package Tutorial_7; /** * @author mendianyu */ public class StuID { // 单例模式中的实例 private static StuID insta ......
模式

抽象工厂模式

[实验任务]:人与肤色 使用抽象工厂模式,完成下述产品等级结构: 类图 public class BlackFactory implements PeopleFactory { @Override public Man produceMan() { return new BlackMan(); } ......
工厂 模式

实验12:外观模式

[实验任务一]:计算机开启 在计算机主机(Mainframe)中,只需要按下主机的开机按钮(on()),即可调用其他硬件设备和软件的启动方法 ,如内存(Memory)的自检(check())、CPU的运行(run())、硬盘(HardDisk)的读取(read())、操作系统(OS)的载入(load ......
外观 模式