职责20230419原则

软件开发中的原则 - SOLID

在软件开发中,前人对软件系统的设计和开发总结了一些原则和模式, 不管用什么语言做开发,都将对我们系统设计和开发提供指导意义。本文主要将总结这些常见的原则,和具体阐述意义。 # 开发原则SOILD > 面向对象的基本原则(solid)是五个,但是在经常被提到的除了这五个之外还有 迪米特法则和合成复用原 ......
软件开发 原则 SOLID 软件

软件开发原则

## 软件开发原则 | 原则 | 介绍 | | | | | 单一职责原则 | 一个类或模块应该只负责一项任务或功能 | | 开闭原则 | 软件实体(类、模块、函数等)应该对扩展开放,对修改关闭 | | 里氏替换原则 | 子类应该能够替换其父类并且不会破坏程序的正确性 | | 接口隔离原则 | 客户端 ......
软件开发 原则 软件

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

六大程序设计原则 + 合成复用原则 六大程序设计原则 + 合成复用原则程序设计领域的设计模式的六大设计原则 + 合成复用原则(Composite Reuse Principle) ,都是一些很泛的思想(它们既可以指这个,也可以代指那个),无法生搬硬套,无法做到很具体的指导。我的建议是,有空多看几遍、 ......
原则 程序设计 程序

RTL设计的两点原则以及如何具体执行

## RTL设计的两点原则 1. 大道至简 2. 考虑物理后端的实现 ## 如何遵循原则去执行 ### 大道至简 1. 大道至简的意思是我们设计的电路,要保证功能正确性的同时,电路要尽可能简洁。 2. 大道至简的好处是,更少的资源,更低的功耗,更容易实现的高时钟频率。 3. 这就需要我们对各种微架构 ......
原则 RTL

设计模式学习1 设计原则

# 设计原则 ## 1.开闭原则 **对扩展开放,修改关闭**。在程序需要扩展的时候,不能去修改原有代码,实现一个热插拔的效果。为了使程序的扩展性好,易于维护和升级 为了达到这样的效果,我们需要使用接口和抽象类 ## 2.里氏代换原则 **任何基类可以出现的地方,子类一定可以出现。**也就是子类继承 ......
设计模式 原则 模式

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

#### 合成复用原则 ##### 基本介绍 尽量使用合成或聚合方式,而不是使用继承。 ##### 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) 拆接口,避免继承类 重复实现 接 ......
原则

里氏替换原则

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

依赖倒转原则详解

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

接口隔离原则

#### 接口隔离原则 ##### 介绍 客户端不要依赖不需要的接口,即一个类对另一个类的依赖应该建立在最小的接口上。 ##### 案例引入 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 如果你是新手,你可能会问,为什么代码需要设计原则? 我想说的是肯定不是为了故作高深,存在即是合理。 如果写了一个简单的程序,你可能不需要设计原则。 如果你写了一个复杂的,但是之后再也不会改,那么 ......
原则 软件

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

什么叫里氏替换原则? "这里需要如下的替换性质:若对类型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设计。 回滚设计。 禁用设计。 监控设计。 设计多活数据中心。 使用成熟的技术。 异步设计。 无状态系统。 水平扩展而非垂直升级。 设计时至少要有两步前瞻性。 非核心则购买。 使用商品化硬件。 小构建、小发布和快试错。 隔离故障。 自动化。 ......
原则

【设计模式之禅】单一职责

最近前辈推荐我读《设计模式之禅》这本书,原因是我写的代码质量实在是一言难尽,开发速度很快,但是bug数就很多了,设计原则这种知识就需要掌握 写这篇文主要是记录自己的学习以及督促自己 第一章【单一职责】 从我理解的层面来谈谈单一原则:明确每个类每个方法的任务,只做一件事,不能一法两用 这也是我最大的一 ......
设计模式 职责 模式

设计模式的六大原则

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

设计模式 solid原则

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

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

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

聊聊测试开发工程师的职责定位问题

![](https://img2023.cnblogs.com/blog/293394/202308/293394-20230806155921545-580588085.png) 网上有人会把测开定位成为 **测试工具开发**,主要是开发自动化测试工具或平台,用以帮助手动验收的同学提升效率。存在即 ......
职责 工程师 工程 问题

设计原则总结

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

设计模式原则之:开闭原则原则

类似于做一个多支付的业务,提供一个service来进行支付、查询操作,具体的实现类如:WeChat、AliPay等实现service服务,来进行服务的调用,如果后续增加Paypal支付,则由提供方实现service即可使用方无需动代码 引发开闭原则的实例 /** * @description: 引发 ......
原则 设计模式 模式

设计模式原则之:里氏替换原则

示例已发推论 /** * @description: 示例引发里氏替换原则的实现 * @author: abel.he * @date: 2023-08-03 **/ public class Test1 { public static void main(String[] args) { Pers ......
原则 里氏 设计模式 模式