原则cap

合成复用原则及设计模式概述

#### 合成复用原则 ##### 基本介绍 尽量使用合成或聚合方式,而不是使用继承。 ##### uml类图 ![](https://img2023.cnblogs.com/blog/2883613/202309/2883613-20230901214027810-569491626.png) 此 ......
设计模式 原则 模式

[读书笔记]架构设计原则

架构设计面向的是不确定性,需要面对多种可能性时进行选择。 > 选择的前提是知识和经验,知识是指有哪些技术、可用组件、实现思路等,这个决定了可选的范围。经验是对当前的业务、情形进行分析,能识别对当前的工作最有效的要素,能从选择空间里做出选择。 > > 多学习:扩大可选择的空间和范围 > 多实践、思考: ......
架构 原则 笔记

Single Responsibility Principle,SRP-单一职责原则

C#中的单一职责原则(Single Responsibility Principle,SRP)要求一个类应该只负责单一的职责。这意味着一个类应该只有一个引起它变化的原因。 遵循单一职责原则的好处包括: 提高代码的可维护性:一个类只负责一个职责,当需求变化时,只需要修改与该职责相关的代码,降低了变更对 ......

六大程序设计原则 + 合成复用原则

程序设计领域的`设计模式六大原则` + `合成复用原则`(Composite Reuse Principle) ,都是一些很**泛**的思想(既可以指这个,也可以代指那个),无法生搬硬套,无法做到很具体的指导。我的建议是,有空多看几遍,多思考看看怎么能运用上在实际项目中,在未来时保佑自己在设计程序时 ......
原则 程序设计 程序

开闭原则

#### 开闭原则 ##### 基本介绍 - 1.开闭原则(Open Close Principle)是编程中最基础,也最重要的原则。 - 2.一个软件实体如类,模块,和函数应该对扩展(增加)开放,对修改关闭。用抽象扩展结构,用实现扩展细节。 - 3.当软件需求变化时,尽量通过扩展软件实体的方式来实 ......
原则

设计原则

一、单一职责原则(SRP)二、开闭原则(OCP)对扩展开放,对修改关闭三、里氏替换原则(LSP)父类的属性和方法必须完全可以被继承,不会出现父类方法被子类使用出现不符合的情况四、依赖倒置原则(DIP)通过 抽象接口 来定义模块之间的依赖关系五、接口隔离原则(ISP) 拆接口,避免继承类 重复实现 接 ......
原则

Netcore CAP分布式事务实践

Netcore CAP分布式事务实践 1、 分布式事务解决方案之可靠消息最终一致性 可靠消息最终一致性方案是指当事务发起方执行完成本地事务后并发出一条消息,事务参与方(消息消费者)一定能够接收消息并处理事务成功,此方案强调的是只要消息发给事务参与方最终事务要达到一致。 事务发起方(消息生产方)将消息 ......
分布式 事务 Netcore CAP

整合MediatR&Cap实现EventBus

在软件开发中,事件早已被我们所熟悉,一个按钮按下,产生中断事件,一个回车,前端页面有侦听事件,在事件风暴建模活动中,事件也是作为领域建模的突破口,事件的重要性不言而喻。其本质是发生的事实到引发了相关事情,在这其中的传递的信息便是事件的内容。就如同猫叫了,引发着老鼠跑了,主人醒了,其中的事件便是猫叫了 ......
EventBus MediatR Cap amp

里氏替换原则

#### 里氏替换原则 **OOP(Object Oriented Programming) 面向对象编程** ##### OO中的继承性的思考 - 1.继承包含这样一层含义,父类中凡是已经写好的方法,实际上就是设定规范。虽然不强制要求所有子类必须遵守规范(不重写方法),但是如果子类对这些方法,任意 ......
里氏 原则

依赖倒转原则详解

#### 依赖倒转原则 ##### 基本介绍 依赖倒转原则(Dependence Inversion Principle): - 1.高层模块,不要依赖底层模块,二者都应该依赖其抽象。 - 2.抽象不应该依赖细节,细节应该依赖抽象。 - 3.依赖倒转的核心思想是面向接口编程。 - 4.依赖倒转原则基 ......
原则

分布式数据库CAP原理

看完了阳哥的redis视频课,理解了MySQL和NoSQL的区别,下面来总结一下 传统的ACID分别是什么A (Atomicity) 原子性C (Consistency) 一致性I (Isolation) 独立性D (Durability) 持久性关系型数据库遵循ACID规则,事务在英文中是tran ......
分布式 原理 数据库 数据 CAP

接口隔离原则

#### 接口隔离原则 ##### 介绍 客户端不要依赖不需要的接口,即一个类对另一个类的依赖应该建立在最小的接口上。 ##### 案例引入 A类,通过接口1依赖B类,C类通过依赖接口1依赖D类,A类只会用到1-3方法,C类只会使用到1,4,5方法。 ##### uml类图 ![](https:// ......
接口 原则

面向对象设计原则

前言 在面向对象的软件设计中,只有尽量降低各个模块之间的耦合度,才能提高代码的复用率,系统的可维护性、可扩展性才能提高。面向对象的软件设计中,有23种经典的设计模式,是一套前人代码设计经验的总结,如果把设计模式比作武功招式,那么设计原则就好比是内功心法。常用的设计原则有七个,本文将具体介绍单一职责原 ......
对象 原则

SQL索引建立原则和使用

今天遇到一个sql,where 中增加了一个条件,用时突然变成了4秒,系统里有两次使用此语句,点一下要等一会。 所以研究下索引。 原文链接:https://blog.csdn.net/qq_32911691/article/details/117321757 创建索引:create table [表 ......
索引 原则 SQL

数据库基础06-Mysql索引使用原则及优化

## 索引使用的原则 ### 列的离散度高的列建索引,离散度低的列尽量避免建索引 #### 列的离散度 - 列的离散度的计算公式 ``` select count(distinct(column_name)) / count(column_name) as rate from tb ``` - 查询 ......
索引 原则 数据库 基础 数据

设计模式和七大原则概述及单一职责原则详解

#### 设计模式的目的 编写软件过程中,程序员面临着来自,耦合性,内聚性以及可维护性,扩展性,重用性等方面的挑战。设计模式是为了让程序,具有更好的 - 1.代码重用性(相同代码,不用重复编写) - 2.可读性(编程规范性,便于其他程序员的阅读和理解) - 3.可扩展性(当需要增加新的功能时,非常的 ......
原则 设计模式 七大 职责 模式

软件的设计原则

> 任何傻瓜都可以写出计算机能懂的代码,但好的程序员可以写出人类能懂的代码—–Martin Fowler 如果你是新手,你可能会问,为什么代码需要设计原则? 我想说的是肯定不是为了故作高深,存在即是合理。 如果写了一个简单的程序,你可能不需要设计原则。 如果你写了一个复杂的,但是之后再也不会改,那么 ......
原则 软件

OpenCV CAP_PROP_FRAME_COUNT 获取视频帧数问题

OpenCV 读取视频,可以通过属性 `CAP_PROP_FRAME_COUNT` 获取视频的总帧数,但是有些视频通过该属性获取的帧数和实际遍历整个视频的帧数不一样。 ```python import cv2 as cv video = 'video.mp4' cap = cv.VideoCaptu ......

开源十年后 Cap’n Proto 1.0 终发布,比 Protocol Buffers 快太多

导读 Cap'n Proto 是一种速度极快的数据交换格式和 capability-based RPC 系统,于 2013 年 4 月开源发布。时至今日,Cap'n Proto 1.0 终于发布,这是一个长期支持版本。 Cap'n Proto 是一种速度极快的数据交换格式和 capability-b ......
Protocol Buffers Proto Cap 1.0

【设计模式之禅】里氏替换原则

什么叫里氏替换原则? "这里需要如下的替换性质:若对类型S的每一个对象O1,都存在一个类型T的对象O2,使得在所有针对T编写的程序P中,用O1替换O2后,程序P的行为功能不变,则S是T的子类型。"这是最专业最权威的定义,但是我当时就是看不懂这句话,看完这个章节也没有完全理解,只能通俗易懂的来描述:让 ......
里氏 设计模式 原则 模式

C/C++基础知识点——设计原则及设计模式

## 如何实现模块间高内聚、低耦合? 1. 封装与抽象; 2. 添加中间层; 3. 模块化; 4. 设计思想与原则 1. 单一职责; 2. 接口隔离原则; 3. 依赖倒置; 4. 迪米特原则; 5. 多用组合少用继承; 5. 设计模式:观察者模式 ## 设计原则及设计模式 ### 六大设计原则: 单 ......
设计模式 知识点 原则 模式 基础

15项设计原则

N + 1设计。 回滚设计。 禁用设计。 监控设计。 设计多活数据中心。 使用成熟的技术。 异步设计。 无状态系统。 水平扩展而非垂直升级。 设计时至少要有两步前瞻性。 非核心则购买。 使用商品化硬件。 小构建、小发布和快试错。 隔离故障。 自动化。 ......
原则

设计模式的六大原则

开放封闭原则(Open Close Principle) 对外扩展是开放的,对内修改是封闭的,目的是保证程序的可扩展性以及可维护性 里氏代换原则(Liskov Substitution Principle) 子类可以扩展父类的功能,但不能改变父类原有的功能。 规定了子类不得重写父类的普通方法,只能重 ......
设计模式 原则 模式

Linux:CAP定理——分布式计算

一、起源与发展 CAP(Consistency、Availability、Partition Tolerance)(一致性、可用性、分区容忍性)也叫Brewer定理,由Eric Brewer于2000年提出。 2002年,Seth Gilbert和Nancy Lynch用严谨的数学推理证明了CAP猜 ......
定理 分布式 Linux CAP

CAP 理论

## CAP 理论基本概念 > [维基百科的翻译版本](https://zh.wikipedia.org/wiki/CAP%E5%AE%9A%E7%90%86) 在理论计算机科学中,**CAP定理** (CAP theorem),又被称作**布鲁尔定理** (Brewer’s theorem),它指 ......
理论 CAP

设计模式 solid原则

SOLID原则是一组面向对象设计和编程的原则,旨在提供可维护、可扩展和可重用的代码。下面是SOLID原则的简要介绍: 单一职责原则(Single Responsibility Principle,SRP):一个类应该只有一个引起变化的原因。换句话说,一个类应该只负责一个单一的功能或职责。 开放封闭原 ......
设计模式 原则 模式 solid

【转】分布式事务,EventBus 解决方案:CAP【中文文档】

【转】分布式事务,EventBus 解决方案:CAP【中文文档】 最新文档地址:https://github.com/dotnetcore/CAP/wiki 前言 很多同学想对CAP的机制以及用法等想有一个详细的了解,所以花了将近两周时间写了这份中文的CAP文档,对 CAP 还不知道的同学可以先看一 ......

CAP 7.2 版本发布通告

### 前言 今天,我们很高兴宣布 CAP 发布 7.2 版本正式版,我们在这个版本中主要致力于 Dashboard 对 k8s 服务发现的支持。 从 7.1 版本以来,我们发布了4个小版本,在这些版本中我们主要解决发现的Bug和添加一些小功能,这篇文章中可能也会提及我们在这些小版本中加的一些小功能 ......
通告 版本 CAP 7.2

设计模式原则之:迪米特法则

不符合迪米特法则的案例 import java.util.ArrayList; import java.util.List; /** * @description: 不符合迪米特法则的案例 * @author: abel.he * @date: 2023-08-06 **/ public class ......
设计模式 法则 原则 模式

设计原则总结

## 目录 - 封装变化 - 针对接口编程,不针对实现编程 - 多用组合(has-a),少用继承(is-a) - 为交互对象之间的松耦合设计而努力 - 最少知识原则 LKP / 迪米特法则 Law of Demeter - 好莱坞原则 - SOLID 原则 - 单一职责原则 SRP - 开放关闭原则 ......
原则