设计模式 模式golang

Seata-go TCC 设计与实现

*作者:刘月财* 本文主要介绍 seata-go 中 TCC 的设计思路、异常处理以及在实战中的使用。 Seata 是一款开源的分布式事务解决方案,致力于为现代化微服务架构下的分布式事务提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 等多种事务模式 ......
Seata-go Seata TCC go

软件设计中的一些原则介绍

软件设计原则介绍: 软件设计的目的:代码复用性、可扩展性、可维护性。 ## 高内聚低耦合(High Cohesion & Low coupling) 高内聚,就是对软件系统中元素职责相关性和集中度高的功能放一起。在编写代码时,代码内的功能职责相关性高的放在一起。 与之相反 - 低耦合,低耦合是对元素 ......
原则 软件

策略模式的实际应用

public interface TransactionDetailProcessor { /** * 判断是否策略包含内容 * * @param strategy * @return */ boolean fitStrategy(QueryOrderDetailStrategy strategy) ......
实际 策略 模式

装饰模式(Decorator Pattern)

## 一、模式动机 装饰模式(Decorator Pattern)是一种用于**替代继承的技术**,它通过一种**无须定义子类的方式来给对象动态增加职责**,**使用对象之间的关联关系取代类之间的继承关系**。在装饰模式中**引入了装饰类**,**在装饰类中既可以调用被装饰类的方法,还可以定义新的方 ......
Decorator Pattern 模式

java通用xls导出设计

背景 在后端日常开发中总会有各种各样的导出需求,实现这个需求必须要解决的两个问题: 1、表头不能直接使用字段名,需要显示为中文,甚至还需要考虑国际化 2、值需要翻译,比如性别、状态之类的字段 现状 现在主流写的比较好的方法是定义一个对象,对象上用自定义的注解+easytrans 我的解决方案 定义要 ......
java xls

Redis安装,主从复制、哨兵模式、集群

浅浅的记录下Redis安装、主从、哨兵、集群。搭建笔记 一.Redis下载安装 系统环境 redis版本:7.0.11 linux版本:CentOS Linux release 8.2.2004 (Core) 官网下载地址:https://redis.io/download/ 一些安装命令,按照步骤 ......
主从 哨兵 集群 模式 Redis

设计模式-模板方式模式

# 模板方法模式 ## 模式定义 + 定义一个操作中的算法的骨架,将算法的实现步骤延迟到子类中。模板方法使得一个子类可以不改变一个算法的结构即可重定义该算法的特定步骤 ## UML 类图 ## 使用场景 1. 当我们要完成在某一个细节层次一致的过程或者一系列步骤时,但个别步骤在更详细的层次上的实现可 ......
模式 设计模式 模板 方式

原型设计工具——Axure

Axure RP 是一个快速原型制作软件。 1.开发者:由美国 Axure Software Solutions, Inc. 公司开发。 2.工作环境:windows、macOS (1).主菜单和工具栏 执行常用操作,如文件打开、保存文件,格式化控件,自动生成原型和规格说明书等操作。 (RP界面) ......
原型 工具 Axure

【实践篇】领域驱动设计:DDD工程参考架构

不同团队落地DDD所采取的应用架构风格可能不同,并没有统一的、标准的DDD工程架构。即使无法制定通用的、标准的工程应用架构,但为团队制定一个遵循领域驱动设计思想的参考架构依然有价值。 ......
实践篇 架构 领域 工程 DDD

半导体设计使用FTP外发文件有风险,如何安全高效替代?

近几年,基于我国“科技强国”战略目标的实行,以半导体、人工智能、新能源等为代表的的科技型领域及行业快速发展。在半导体行业,以行业产业链来区分,整个行业包括上游材料和设备支撑、中游芯片设计和制造,以及下游移动通信、汽车、消费电子等。半导体行业上、中、下游联系紧密,企业之间数据和文件交流频繁,这就产生了 ......
安全高效 半导体 风险 文件 FTP

c语言程序设计知识点总结03

## c语言程序设计知识点总结03 ### 地址(Address): 计算机的内存由若干个字节内存单元构成,每个字节内存单元都有一个唯一的地址用于区分和存取单元中的数据。 形式上,地址是一个无符号整数,从0开始,依次递增,在表达和交流时,通常把地址写成十六进制数。 ### 指针(Pointer): ......
知识点 程序设计 语言 程序 知识

go语言中实现生产者-消费者模式有哪些方法呢

# 1. 简介 本文将介绍在 Go 语言中实现生产者消费者模式的多种方法,并重点探讨了通道、条件变量的适用场景和优缺点。我们将深入讨论这些方法的特点,以帮助开发者根据应用程序需求选择最适合的方式。通过灵活运用 Go 语言提供的并发原语,我们能够实现高效、可靠的生产者消费者模式,提升系统的并发性能和可 ......
生产者 消费者 语言 模式 方法

RESTful API 设计指南

网络应用程序,分为前端和后端两个部分。当前的发展趋势,就是前端设备层出不穷(手机、平板、桌面电脑、其他专用设备......)。 因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信。这导致API构架的流行,甚至出现"API First"的设计思想。RESTful API是目前比较成熟的一套互 ......
RESTful 指南 API

原型设计工具介绍之Drawio

目录 I. 简介 A. 什么是原型设计工具 B. Drawio II. Drawio的特点 A. 开源免费 B. 多种图表类型 C. 易于使用 III. Drawio的使用方法 A. 打开Drawio B. 选择图表类型 C. 绘制图表 D. 导出图表 IV. 实例 V.总结 简介 什么是原型设计工 ......
原型 工具 Drawio

数模混合设计的LVS流程

## 数模混合设计的LVS流程 ### 1. 前言 最近项目到了验证环节,在做LVS碰到了一些问题。网络上也没有文章给出完整的解决方案,自己试了一下,踩了一些坑之后基本上搞定了这个问题,现记录流程供学习交流。 整体流程包括:数字模块单独LVS,模拟模块单独过LVS,数字网表反提原理图,顶层数字sym ......
流程 LVS

计算机组成原理:阵列乘法器设计实验

实验名称: 1.2 阵列乘法器设计实验 实验目的 了解运算器的组成结构。 基于数据通路图,观测并分析运算器的工作原理。 基于信号时序图,观测并分析运算器的工作原理。 实验设备 PC机一台,TDX-CMX实验系统一套。 实验预习 画出4*4阵列乘法器原理图,分析延迟与哪些因素有关。答:(上传图片) ( ......
乘法器 乘法 阵列 原理 计算机

golang new和make

new和make 1. new 和 make 都用于分配内存; 2. new 对指针类型分配内存,返回值是分配类型的指针,new也可以对 slice 、map、channel 分配内存;但多用于自定义的结构体 3. make 仅用于 slice、map和 channel 类型的初始化分配内存空间,返 ......
golang make new

golang操作redis--String

首先,若要使用基于go操纵redis,需要先安装驱动 github.com/go-redis/redis/v8 然后,初始化一个redis,获取一个redis链接 client := redis.NewClient(&redis.Options{ Addr: "0.0.0.0:6379", Pass ......
golang String redis

Intel公布全新架构x86S!纯64位模式运行:指令集大幅精简

在iOS生态中,苹果已经完全淘汰了32位,安卓领域也在加速,设计APP、操作系统、处理器等多方面。 而对于PC电脑而言,Intel似乎要“大动干戈”了。 Intel已经提出一种全新架构名为x86S,即x86-64 ISA简化版,其独特的地方在于纯64bit模式运行的设计。 当然,别担心,在技术白皮书 ......
指令 架构 全新 模式 Intel

原型模式(Prototype Pattern)

### 原型模式(Prototype Pattern) #### 一、意图 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 #### 二、优缺点 **优点:** 1、性能提高。 2、逃避构造函数的约束。 **缺点:** 1、配备克隆方法需要对类的功能进行通盘考虑,这对于全新的类不是 ......
原型 Prototype Pattern 模式

设计模式总结

`2023年05月21日18:17:36` #### 设计模式分类 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式、简单工厂模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:策略模式、模板方法 ......
设计模式 模式

解释器模式

`begin 2023年04月15日16:49:35` #### 引子 本科软件工程专业有这么一门课叫《编译原理》,课程内容已经忘了七七八八,但尤为清楚的是上机大作业是拷贝的,课程分数92。 #### 定义 > Given a language, define a representation fo ......
解释器 模式

Python 设计模式-观察者模式

观察者模式是一种行为设计模式,它允许你定义一种订阅机制,可以在对象事件发生时通知多个观察者对象。下面是一个简单的Python观察者模式代码示例: ```python class Subject: """ 被观察者类,维护观察者列表,并在状态发生改变时通知观察者 """ def __init__(se ......
模式 观察者 设计模式 Python

第五章.系统安全分析与设计

第一节.信息系统安全属性 安全属性 保密性:最小授权原则、防暴露(如在命名时可以将名称设置为乱码)、信息加密(防止信息在传输时被截获后破解)、物理保密 完整性:安全协议、校验码、密码校验、数字签名、公证 可用性:综合保障(IP过滤、业务流控制、路由控制选择、审计跟踪) 不可抵赖性:数字签名 第二节. ......
系统

Python 设计模式-单例模式

Python中有多种实现单例模式的方式,以下是其中的几种: 1. 基础单例模式 ```python class Singleton(object): __instance = None def __new__(cls, *args, **kwargs): if not cls.__instance: ......
模式 设计模式 Python

用go设计开发一个自己的轻量级登录库/框架吧(拓展篇)

用go设计开发一个自己的轻量级登录库/框架吧(拓展篇),给自己的库/框架拓展一下吧,主库:https://github.com/weloe/token-go ......
轻量 轻量级 设计开发 框架

组合模式(Composite Pattern)

## 一、模式动机 >处理树型结构 >组合模式(Composite Pattern)关注那些存在**叶子构件和容器构件的结构以及它们的组织形式**,**叶子构件中不能包含成员对象**,而**容器构件中可以包含成员对象**,这些成员对象可能是叶子构件对象,也可能是容器构件对象。这些**对象可以构成一个 ......
Composite Pattern 模式

软件开发与创新——原型设计工具介绍

这周软件开发与创新的实验课上老师向我们初步介绍了软件开发的原型设计工具,经过查询相关资料,我了解到软件开发原型设计工具在开发过程中起着重要的作用。以下是几个主要作用: 界面设计和布局:原型设计工具允许开发人员创建应用程序的用户界面,包括页面布局、组件和元素的放置等。它们提供了丰富的设计工具和预设,使 ......
原型 软件开发 工具 软件

桥接模式(Bridge Pattern)

# 模式动机 桥接模式(Bridge Pattern)是一种很实用的结构型模式,如果系统中某个类存在**两个独立变化的维度**,通过该模式可以**将这两个维度分离出来**,使得两者可以**独立扩展**。桥接模式用一种巧妙的方式处理**多层继承**存在的问题,**用抽象关联取代了传统的多重继承**,将 ......
Pattern 模式 Bridge

弹力设计篇之“限流设计”

保护系统不会在过载的情况下出现问题,我们就需要限流。我们在一些系统中都可以看到这样的设计,比如,我们的数据库访问的连接池,还有我们的线程池,还有 Nginx 下的用于限制瞬时并发连接数的 limit_conn 模块,限制每秒平均速率的 limit_req 模块,还有限制 MQ 的生产速,等等。 ![ ......
弹力