内核 模式

设计模式之外观模式

1. 定义 提供了一个统一的接口,用来访问子系统中的一组接口 2. 口语化表述 工厂里组装台灯,流程、配件等有多种方式,每种台灯有自己的生产线 现在,需要某一种台灯,一种方式是直接去找这个台灯的生产线生成,这会令人烦恼,因为寻找是一件无聊而繁琐的事情 另一种方式是成立一个工厂前台,需要什么台灯就只需 ......
模式 设计模式 外观

深入理解HarmonyOS UIAbility:生命周期、WindowStage与启动模式探析

本文分享自华为云社区《深入理解HarmonyOS UIAbility:生命周期、WindowStage与启动模式探析》,作者:柠檬味拥抱。 UIAbility组件概述 UIAbility组件是HarmonyOS中一种包含UI界面的应用组件,主要用于与用户进行交互。每个UIAbility组件实例对应最 ......

内核链表

内核链表在很多嵌入式的代码中都有用到,因为这个链表很好用,并且代码的统一性会增强代码的可读性,因此这里简单记录一下内核链表的使用,首先是库文件,这里也就是从内核中获取的,下面的代码做了一点注释。 #ifndef _LINUX_LIST_H #define _LINUX_LIST_H // inclu ......
内核

“数据结构”模式之迭代器(Iterator)模式

常常有一些组件在内部具有特定的数据结构,如果让客户程序依赖这些特定的数据结构,将极大地破坏组件的复用。这时候,将这些特定数据结构封装在内部,在外部提供统一的接口,来实现与特定数据结构无关的访问,是一种行之有效的解决方案。 典型模式: Composite Iterator Chain of Respo ......
模式 数据结构 Iterator 结构 数据

设计模式之七大原则

单一职责原则 类的职责要单一,不能将太多的职责放在一个类中。 请看代码示例: 未采用单一职责原则 package com.std.www.designPattern.principle; class Student{ public void getDBConnection(){ System.out ......
设计模式 七大 原则 模式

“接口隔离模式”之外观模式(门面模式)

1 模式动机 外观模式属于“接口隔离模式”的一种。 下图中,A方案的问题在于组件的客户和组件中各种复杂的子系统有了过多的耦合,随着外部客户程序和各子系统的演化,这种过多的耦合面临很多变化的挑战。 如何简化外部客户程序和系统间的交互接口?如何将外部客户程序的演化和内部子系统的变化之间的依赖相互解耦? ......
模式 门面 外观 接口

设计模式

设计模式分创建型、结构型、行为型模式,以下是详述 创建型模式 隐藏了创建对象的过程,通过逻辑方法创建对象,而不是通过new关键字 *工厂方法模式 *抽象工厂模式 *单例模式 *建造者模式 *原型模式 结构型模式 主要关注类和对象的组合关系 继承的概念被用来组合接口和定义组合对象,获得新的功能方式 * ......
设计模式 模式

JavaScript的设计模式—构造器模式

设计模式介绍 设计模式是我们在 解决问题的时候针对特定问题给出的简洁而优化的处理方案 在JS设计模式,最核心的思想:封装变化 将变与不变分离,确保变化的部分灵活,不变的部分稳定 构造器模式 var employee1={ name:'Kerwin', age:100 } var employee2= ......
模式 设计模式 JavaScript

使用分布式事务 Seata 的 XA 模式

上篇博客已经搭建了分布式事务 Seata 的集群,本篇博客主要介绍如何使用 Seata 的 XA 模式。 XA 模式的规范是 X/Open 组织定义的分布式事务处理(DTP,Distributed Transaction Processing)标准,XA 模式规范描述了全局的 TM 与局部的 RM ......
分布式 事务 模式 Seata XA

设计模式--观察者模式(Observer Pattern)

Observer模式 观察者模式(Observer Pattern)是一种行为设计模式,它定义了对象之间的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并被自动更新。 观察者模式主要包含以下几个角色: Subject(主题):也被称为Observable,它是被观察的对象。当它 ......

(自用)基于unity的指令(命令)模式

指令模式 1.配置输入 所有游戏中都包含玩家输入指令的部分(这些部分通常写在游戏循环中 如unity中的UpData() ) 游戏会每一帧都进行一次读取,当玩家按下相应按键时 则会进行对应方法 为了可以时刻检测并记录玩家进行的操作,或者对某个对应的操作的指令进行更改,我们需要将这些输入封装为一个类似 ......
指令 命令 模式 unity

内核文档翻译 —— Overview of the Linux Virtual File System

原文:https://www.kernel.org/doc/html/latest/filesystems/vfs.html#overview-of-the-linux-virtual-file-system Introduction The Virtual File System (also kn ......
内核 Overview Virtual 文档 System

苹果iPhone因没有存储空间而死机和不断重启,重启白苹果黑底,恢复模式更新系统报错1110,解决方案。

参考自:https://www.bilibili.com/video/BV1Mr4y1X7cT/?spm_id_from=333.337.search-card.all.click&vd_source=869b36c3961d4a89a184a469bc7589bb 手机苹果iPhone,存储满,提 ......
苹果 黑底 不断 解决方案 模式

原型模式

用C++完成数学中向量的封装,其中,用指针和动态申请支持向量长度的改变,使用浅克隆和深克隆复制向量类,比较这两种克隆方式的异同。 类图: 代码: #include<cmath> #include<iostream> using namespace std; class Vector{ private ......
原型 模式

软件设计:简单工厂模式

类图: 源代码: package com.ittest.test2; public class Man implements Person{ public Man() { } public void make(){ System.out.print("生产男人"); } } package com. ......
工厂 模式 软件

rabbitmq的推(push)拉(pull)模式介绍及代码实现

在rabbitmq中有两种消息处理的模式,一种是推模式/订阅模式/投递模式(也叫push模式),消费者调用channel.basicConsume方法订阅队列后,由RabbitMQ主动将消息推送给订阅队列的消费者;另一种是拉模式/检索模式(也叫pull模式),需要消费者调用channel.basic ......
rabbitmq 模式 代码 push pull

软件设计实验 24:模板方法模式

实验 24:模板方法模式 本次实验属于模仿型实验,通过本次实验学生将掌握以下内容: 1、理解模板方法模式的动机,掌握该模式的结构; 2、能够利用模板方法模式解决实际问题。 [实验任务一]:数据库连接 对数据库的操作一般包括连接、打开、使用、关闭等步骤,在数据库操作模板类中我们定义了connDB()、 ......
模板 模式 方法 软件

Java设计模式-策略模式详解

1.策略模式基本了解 策略模式(Strategy Pattern)是一种行为型设计模式,它定义了一组可以相互替换的算法,使得客户端可以根据不同的需求选择不同的算法,将对象和行为分开。 在策略模式中,我们创建了一个策略接口,该接口定义了所有必需的方法。然后,我们创建了实现了该策略接口的具体策略类。最后 ......
模式 设计模式 策略 Java

7.4 Windows驱动开发:内核运用LoadImage屏蔽驱动

在笔者上一篇文章`《内核监视LoadImage映像回调》`中`LyShark`简单介绍了如何通过`PsSetLoadImageNotifyRoutine`函数注册回调来`监视驱动`模块的加载,注意我这里用的是`监视`而不是`监控`之所以是监视而不是监控那是因为`PsSetLoadImageNotif... ......
内核 LoadImage Windows 7.4

7.2 Windows驱动开发:内核注册并监控对象回调

在笔者上一篇文章`《内核枚举进程与线程ObCall回调》`简单介绍了如何枚举系统中已经存在的`进程与线程`回调,本章`LyShark`将通过对象回调实现对进程线程的`句柄`监控,在内核中提供了`ObRegisterCallbacks`回调,使用这个内核`回调`函数,可注册一个`对象`回调,不过目前该... ......
内核 对象 Windows 7.2

7.3 Windows驱动开发:内核监视LoadImage映像回调

在笔者上一篇文章`《内核注册并监控对象回调》`介绍了如何运用`ObRegisterCallbacks`注册`进程与线程`回调,并通过该回调实现了`拦截`指定进行运行的效果,本章`LyShark`将带大家继续探索一个新的回调注册函数,`PsSetLoadImageNotifyRoutine`常用于注册... ......
映像 内核 LoadImage Windows 7.3

使用观察者模式实现窗体间按钮点击事件的解耦

为了温故而知新,本博客旨在记录我学习VB.net编程的过程,分享基础知识和实用技巧,帮助有需要的朋友轻松入门VB.net编程。无论您是想开发Windows平台上的应用程序,还是想在.NET生态系统中展现创造力和创新精神,本文都将为您提供宝贵的指导。 在软件开发中,经常会遇到一个窗体上的按钮点击事件需 ......
解耦 观察者 窗体 按钮 模式

7.6 Windows驱动开发:内核监控FileObject文件回调

本篇文章与上一篇文章`《内核注册并监控对象回调》`所使用的方式是一样的都是使用`ObRegisterCallbacks`注册回调事件,只不过上一篇博文中`LyShark`将回调结构体`OB_OPERATION_REGISTRATION`中的`ObjectType`填充为了`PsProcessType... ......
内核 FileObject Windows 文件 7.6

6.9 Windows驱动开发:内核枚举进线程ObCall回调

在笔者上一篇文章`《内核枚举Registry注册表回调》`中我们通过特征码定位实现了对注册表回调的枚举,本篇文章`LyShark`将教大家如何枚举系统中的`ProcessObCall`进程回调以及`ThreadObCall`线程回调,之所以放在一起来讲解是因为这两中回调在枚举是都需要使用通用结构体`... ......
线程 内核 Windows ObCall 6.9

6.8 Windows驱动开发:内核枚举Registry注册表回调

在笔者上一篇文章`《内核枚举LoadImage映像回调》`中`LyShark`教大家实现了枚举系统回调中的`LoadImage`通知消息,本章将实现对`Registry`注册表通知消息的枚举,与`LoadImage`消息不同`Registry`消息不需要解密只要找到`CallbackListHead... ......
注册表 内核 Registry Windows 6.8

6.7 Windows驱动开发:内核枚举LoadImage映像回调

在笔者之前的文章`《内核特征码搜索函数封装》`中我们封装实现了特征码定位功能,本章将继续使用该功能,本次我们需要枚举内核`LoadImage`映像回调,在Win64环境下我们可以设置一个`LoadImage`映像加载通告回调,当有新驱动或者DLL被加载时,回调函数就会被调用从而执行我们自己的回调例程... ......
映像 内核 LoadImage Windows 6.7

6.6 Windows驱动开发:内核枚举Minifilter微过滤驱动

Minifilter 是一种文件过滤驱动,该驱动简称为微过滤驱动,相对于传统的`sfilter`文件过滤驱动来说,微过滤驱动编写时更简单,其不需要考虑底层RIP如何派发且无需要考虑兼容性问题,微过滤驱动使用过滤管理器`FilterManager`提供接口,由于提供了管理结构以及一系列管理API函数,... ......
内核 Minifilter Windows 6.6

6.5 Windows驱动开发:内核枚举PspCidTable句柄表

在 Windows 操作系统内核中,PspCidTable 通常是与进程(Process)管理相关的数据结构之一。它与进程的标识和管理有关,每个进程都有一个唯一的标识符,称为进程 ID(PID)。与之相关的是客户端 ID,它是一个结构,其中包含唯一标识进程的信息。这样的标识符在进程管理、线程管理和内... ......
句柄 内核 PspCidTable Windows 6.5

Go语言实现GoF设计模式:备忘录模式的实践探索

在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外进行保存,以便在未来将对象恢复到原先保存的状态。 ......
模式 设计模式 备忘录 语言 GoF

RISC-V内核突破百亿颗 RVV1.0如何解锁端侧AI市场应用潜能

RISC-V内核增长迅猛,2022年就实现了破百亿颗出货量。作为一款开源的RISC架构,其凭借轻量化、优秀的可扩展性与不断增强的软件兼容性吸引越来越多的企业采用。不断扩张的生态版图之下,RISC-V内核的增长曲线也愈发陡峭。 根据RISC-V基金会的数据和预测,2022年采用RISC-V芯片架构的处 ......
潜能 内核 RISC-V 市场 RISC