产者 消费者 模式golang

Unity-单例模式

Unity-单例模式 前言 ​ 对于某些特殊的类,我们希望 在整个程序的生命周期只创建一个该类的对象 ,或是希望 在其他类没有持有该类的引用,就可以调用该类中的函数,我们就需要将这个类写成 单例模式 单例的简单实现 public class Test() { pubic abstract Test ......
模式 Unity

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

Golang workSpace工作区

创建 myworkspace 主项目 mkdir myworkspace cd myworkspace 创建 common 子项目 mkdir common && cd common go mod init common vim common.go myworkspace/common/common ......
工作区 workSpace Golang

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

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

设计思路-消费MQ

消费端收到消息 持久化到redis或者数据库,状态为待处理。然后ack确认 再处理通过线程池异步消费消息,提高吞吐量 1.如redis 先通过zset放入redis 消费成功删除redis 未删除的等redis过期的补偿队列进行补偿 ......
思路

Golang反射

反射的结构体 //reflect/type.go type Type interface { // 该类型内存分配大小(内存对齐单位子节) Align() int // 该类型作为结构体字段时内存分配大小(内存对齐单位子节) FieldAlign() int // 根据index in [0, Nu ......
Golang

软件设计实验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 ......
模式

Golang 锁

写锁需要阻塞写锁:一个协程拥有写锁时,其他协程写锁定需要阻塞 写锁需要阻塞读锁:一个协程拥有写锁时,其他协程读锁定需要阻塞 读锁需要阻塞写锁:一个协程拥有读锁时,其他协程写锁定需要阻塞 读锁不能阻塞读锁:一个协程拥有读锁时,其他协程也可以拥有读锁 ......
Golang

c#中代理模式详解

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

享元模式

说到享元模式,第一个想到的应该就是池技术了,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 ......
访问者 模式

单通道、8位MCP47CVD01T-E/MF、MCP47CVD01-E/MF、MCP47CVD01-E/MG数模转换器(DAC)适合消费和工业应用

概述 MCP47CVD01是一款单通道、8位、缓冲电压输出数模转换器(DAC),具有易失性存储器和I²C兼容串行接口。该器件提供四种不同的基准电压选项:器件VDD、外部VREF(缓冲或无缓冲)和内部带隙。它提供1 LSB积分非线性(INL)、低功耗和4µs的快速建立时间。它适合消费和工业应用,如设定 ......
数模转换器 MCP CVD 转换器 47

观察者模式

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

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

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

Golang 大杀器之trace

需要下载graphviz package main import ( "log" "os" "runtime/trace" ) func main() { file, err := os.Create("trace.out") if err != nil { log.Fatal(err) } def ......
Golang trace

Golang大杀器之pprof

需要下载graphviz package main import ( "math/rand" "os" "runtime/pprof" "time" ) func generate(n int) []int { rand.Seed(time.Now().UnixNano()) nums := mak ......
Golang pprof

设计模式(十二)代理

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

Golang 中的 Context 包

Golang 中的 Context 包 原创 Slagga 技术的游戏 2023-11-12 12:28 发表于广东 收录于合集#Golang89个 简介 今天,我们将讨论 Go 编程中非常重要的一个主题:context 包。如果你现在觉得它很令人困惑,不用担心 — 在本文结束时,你将像专家一样处理 ......
Context Golang

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

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