原则smart pmp

设计模式原则之:单一职责模式

对类来说的,即一个类应该只负责一项职责。如类A负责两个不同的职责,职责1,职责2。当职责1需求变更而改变A时,可能造成职责2智行错误,所以要将类A的粒度分解为A1,A2 错误的应用实例 package org.example.demo0; /** * @description: 单一职责原则 * @ ......
模式 设计模式 职责 原则

设计模式中的七大设计原则

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

【设计原则】图解何为依赖倒置

**依赖倒置原则(Dependence Inversion Principle,DIP)是指设计代码结构时,高层模块不应该依赖低层模块,二者都应该依赖其抽象。** 要理解何为倒置,那就先得明确什么是“正向”,可以看到下图代码是自上而下地调用,即高层模块依赖底层模块,这就是正向依赖。: ![image ......
原则

面向对象编程的 SOLID 原则 - 里氏替换原则

里氏替换原则 里氏替换原则描述的是子类应该能替换为它的基类。 意思是,给定 class B 是 class A 的子类,在预期传入 class A 的对象的任何方法传入 class B 的对象,方法都不应该有异常。 这是一个预期的行为,因为继承假定子类继承了父类的一切。子类可以扩展行为但不会收窄。 ......
原则 里氏 对象 SOLID

面向对象编程的 SOLID 原则 - 接口隔离原则

接口隔离原则 隔离意味着保持独立,接口隔离原则是关于接口的独立。 该原则描述了很多客户端特定的接口优于一个多用途接口。客户端不应该强制实现他们不需要的函数。 这是一个简单的原则,很好理解和实践,直接看例子。 public interface ParkingLot { void parkCar(); ......
原则 接口 对象 SOLID

面向对象编程的 SOLID 原则 - 依赖倒置原则

依赖倒置原则 依赖倒置原则描述的是我们的 class 应该依赖接口和抽象类而不是具体的类和函数。 在这篇文章(2000)里,Bob 大叔如下总结该原则: “如果 OCP 声明了 OO 体系结构的目标,那么 DIP 则声明了主要机制”。 这两个原则的确息息相关,我们在讨论开闭原则之前也要用到这一模式。 ......
原则 对象 SOLID

面向对象编程的 SOLID 原则 - 开闭原则

开闭原则 开闭原则要求“class 应该对扩展开放对修改关闭”。 修改意味着修改存在 class 的代码,扩展意味着添加新的功能。 这个原则想要表达的是:我们应该能在不动 class 已经存在代码的前提下添加新的功能。这是因为当我们修改存在的代码时,我们就面临着创建潜在 bug 的风险。因此,如果可 ......
原则 对象 SOLID

面向对象编程的 SOLID 原则

SOLID 原则是面向对象 class 设计的五条原则。他们是设计 class 结构时应该遵守的准则和最佳实践。 通常,这五个原则可以帮助我们了解设计模式和软件架构。这是每个开发人员都应该了解的主题。 这篇文章介绍了在项目中使用 SOLID 原则的细节。 首先我们先看一下 SOLID 原则的历史。然 ......
对象 原则 SOLID

Smart Ptr - intrusive

# intrusive_ref_counter ```cpp template class intrusive_ref_counter struct thread_unsafe_counter struct thread_safe_counter ``` The `intrusive_ref_cou ......
intrusive Smart Ptr

smart-socket报失效

调用心跳连接经常失效 15:30:55.791 [Quick Timer] INFO org.smartboot.socket.extension.plugins.HeartPlugin - session:org.smartboot.socket.transport.TcpAioSession@4 ......
smart-socket socket smart

第七章:部署流水线原则与工具设计

部署流水线是对软件交付过程的一种可视化呈现方式,展现了从代码提交、构建、部署、测试到发布的整个过程,为团队提供状态可视化和及时反馈。部署流水线的设计与使用: 流水线的设计原则: 一次构建,多次使用 与业务逻辑松耦合 并行化原则 快速反馈优先:让那些提供快速反馈的任务尽早执行 重要反馈优先:例如:软件 ......
流水线 流水 原则 工具

架构设计中的正交原则

正交设计,是普遍的设计原则,与粒度无关,与编程范式无关,更与具体的实现语言无关。 一、正交设计原则“正交性”是几何学中的术语,互为直角的直角坐标系就具有正交性;在计算技术中表示不依赖性或解耦性。 一种相互正交的模块化思想,模块内有更高的内聚,与模块外有更低的耦合,只有一个不变的交叉点,这个交叉点就是 ......
正交 架构 原则

数据库设计的原则

一、数据库设计的原则 1、表设计原则 (1)规范化与反规范化 规范化的优点是减少了数据冗余,节约了存储空间,相应逻辑和物理的I/O次数减少,同时加快了增、删、改的速度。但是一个完全规范化的设计并不总能生成最优的性能,因为对数据库查询通常需要更多的连接操作,从而影响到查询的速度,而且范式越高性能就会越 ......
原则 数据库 数据

实战总结|复杂系统设计原则与案例

本文主要讲述了应对复杂性的一些原则和经验,通过实际案例解构设计思想,个人认为好的设计是体现在「职责分离」、「抽象分层」和「变化扩展」上,在类的结构设计上尤其要花心思去想,如「变与不变分离」、「配置域与执行域分离」、「查询与命令分离」。 ......
复杂系统 实战 原则 案例 系统

PMP 学习笔记(七)

07.18 星期二 CPI0.65——成本偏差较大,使用自下而上的估计 出现新的干系人,应更新干系人登记册,敏捷方法由产品经理列入待办事项 凸显模型适用于复杂的干系人大型社区 审查可交付成果,干系人表现出对最终产品的担忧,按时可交付成果有问题,应审查项目需求文件 产品不合格,根本原因是开发过程中的质 ......
笔记 PMP

最佳实践系列:Python中的SOLID原则

# ***SOLID原则:*** S:单一职责原则(Single Responsibility Principle, SRP)。 O:开/闭原则(Open/Closed Principle, OCP)。 L:里氏替换原则(Liskov's Substitution Principle, LSP)。 ......
原则 Python SOLID

浅谈软件设计原则

通用原则 OCP(开闭原则) 架构设计的主导原则。设计良好的软件应该易于扩展,同时抗拒修改。这是我们进行架构设计的主导原则,其它的原则都为这条原则服务。 USB接口满足OCP原则,各个厂商可以扩展接口实现,但是不能修改接口定义 正交性设计 “正交性”是从几何学中借来的术语。如果两条直线相交成直角,它 ......
原则 软件

索引的建立原则?什么是索引?如何建立一个好的索引?

索引的本质其实就是一种排好序的数据结构。 1.必须遵循唯一的索引原则,将其使用的作为索引的字段必须是唯一的,这样涉及的原则跟好处就是,唯一的索引会避免数据库去查询的时候会产生两样性,从而导致索引的查找的速率大大降低。 2.索引的设计要根据where关键字跟order by关键字还有 gruop by ......
索引 原则

基于 Orbit 的云原生应用交付基础原则与良好实践

![img](https://mmbiz.qpic.cn/sz_mmbiz_gif/jxHgxicVs5Y2N4DyQJT8Y6J3gx111okphVZ9XADdozcNXgQZtDib4dKKUn2FMdugbLAblStic3x2cc1nKia8qEjF9g/640?wx_fmt=gif) > ......
原则 基础 Orbit

软件设计七项原则

#### 一、软件设计七项原则 1. 总结归纳 |设计原则|归纳总结| | | | |开闭原则|对扩展开放,对修改关闭|降低维护带来的新风险| |里氏替换原则|不要破坏继承体系,子类重写方法功能发生改变,不应该影响父类方法的含义|防止继承泛滥| |依赖倒置原则|高层不应该依赖低层,要面向接口编程|更 ......
原则 软件

打造引人注目按钮:七项有效原则解析

按钮是交互设计中的基本元素。他们在用户和系统之间扮演重要角色。在本文中,我们将一起思考创建有效按钮所需了解的七个基本原则。 ⬇⬇⬇点击获取更多设计资源 https://js.design/community?category=design&source=bjh&plan=bbqbjh768 让按钮看 ......
引人注目 按钮 原则

CAP原则介绍

## 一、背景: - 1985 年,后来证明了 CAP 理论的 Lynch 教授此时给当时的 IT 界来了一记惊雷:她通过不可辩驳的证明告诉业界的工程师们,如果在一个不稳定(消息要么乱序要么丢了)的网络环境里(分布式异步模型),想始终保持数据一致是不可能的。这是个什么概念呢?就是她打破了那些既想提供 ......
原则 CAP

PMP 学习笔记(六)

07.07 星期五 排列优先级是产品负责人(PO)的职责,如果处于高优先级的需求项过多,让PO进一步澄清高优先级中的哪些最优先,且根据产品路线图和发布计划确定优先级 产品与市场上采用的新技术不兼容,是一个严重问题,应立即采取措施,评估影响,然后看产品路线需不需要调整来满足市场情况 敏捷项目中验收不通 ......
笔记 PMP

工作的原则(2)

1.培养自己的减言能力。少说话,多思考。切记不要抢话。2.任何场合不要随意说自己的想法,学会提问,深思熟虑!!! 会上不要说具体的方法,只说大方向,提问,思考问题,听别人怎么想,怎么说。3.关于邮件等联络,细看,细想之后再回复,能用文字就不用口头。4.说话时刻保持友好的语气,越是严厉的话题,越要和颜 ......
原则

最左前缀匹配原则

最左前缀匹配原则:在MySQL建立联合索引时会遵守最左前缀匹配原则,即最左优先,在检索数据时从联合索引的最左边开始匹配。 要想理解联合索引的最左匹配原则,先来理解下索引的底层原理。索引的底层是一颗B+树,那么联合索引的底层也就是一颗B+树,只不过联合索引的B+树节点中存储的是键值。由于构建一棵B+树 ......
前缀 原则

CAP原则

CAP原则又称CAP定理,指的是一个分布式系统中的Consitency(一致性)、Availability(可用性)、Partition tolerance(分区容错性)三个特性,下面分别介绍. 1、Consitency(一致性) 指的是多个微服务节点的数据一致性,微服务架构中,单一服务节点可能存在 ......
原则 CAP

现代C++(Modern C++)基本用法实践:五、智能指针(Smart Pointers)

# 概述 c++效率较高的一个原因是我们可以自己定制策略手动申请和释放内存,当然,也伴随着开发效率降低和内存泄漏的风险。为了减少手动管理内存带来的困扰,c++提出了智能指针,可以帮助我们进行内存管理,有三种: 1. `std::unique_ptr` 是一种独占所有权的智能指针,它不允许多个指针指向 ......
指针 Pointers 智能 Modern Smart

设计原则

### 面向对象设计的 SOLID 五大原则 【S】单一职责原则(Single Responsibility Principle, SRP) 【O】开闭原则(Open Closed Principle,OCP) 【L】里氏代换原则(Liskov Substitution Principle,LSP) ......
原则

设计原则 --- SOLID

## 引言 SOLID是五个常见的面向对象设计原则的缩写,其目的是帮助开发者设计易于维护和扩展的软件系统 其中包含**单一职责原则(SRP)**,**开闭原则(OCP)**,**里氏替换原则(LSP)**,**接口隔离原则(ISP)**,**依赖反转原则(DIP)**。 除SOLID之外,后续又增加 ......
原则 SOLID

软件设计原则

[toc] 在软件开发中,为了提高软件系统的可维护性和可复用性,增加软件的可扩展性和灵活性,程序员要尽量根据6条原则来开发程序,从而提高软件开发效率、节约软件开发成本和维护成本。 ## 1. 开闭原则 **对扩展开放,对修改关闭**。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效 ......
原则 软件