原则性

设计原则 --- SOLID

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

软件设计原则

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

92.当程序中有函数重载时,函数的匹配原则和顺序是什么?

# 92.当程序中有函数重载时,函数的匹配原则和顺序是什么? 多数情况下,我们可以很容易的判断出该会调用哪一个重载函数,例如,调用的重载函数之间形参数量不同,形参的类型有明显的区别等。但是,当几个重载函数形参数量相等、具有默认形参以及形参又可以发生类型转换时,判断会调用哪个重载函数就显得不那么明了。 ......
函数 顺序 原则 程序 92

就近原则和this关键字

在Java中,this是一个引用,它指向当前对象的实例。它可以用于以下几个方面: 用于区分局部变量和实例变量:在方法或构造函数中,如果存在一个局部变量和一个实例变量同名,可以使用this关键字来引用实例变量。这样可以明确地告诉编译器你要使用的是实例变量,而不是局部变量。 用于在一个构造函数中调用另一 ......
关键字 原则 关键 this

架构设计原则

# 架构设计原则 ## 合适原则:合适优于业界领先 - 考虑人员多少 - 考虑时间成本,罗马不是一天建成的 - 结合业务设计 ## 简单原则:简单优于复杂 - 结构越复杂可用率越低 - 逻辑越复杂,开发越慢,排查越慢 ## 演化原则:演化优于一步到位 - 架构需要随业务的变化而变化 - 不断迭代,去 ......
架构 原则

面向对象、设计原则、设计模式、编程规范、重构五者的关系

最经典的设计模式书籍是GoF的《设计模式》,他的中文全称叫《设计模式:可复用面向对象软件的基础》,为什么他在标题中会特意提到“面向对象”呢? 面向对象 针对面向对象,我们需要掌握7点。 面向对象的四大特性:封装、抽象、继承、多态; 面向对象和面向过程编程的区别与联系; 面向对象分析、设计、编程; 接 ......
设计模式 对象 原则 模式

设计模式之类之间的关系和六大原则

1 类之间的关系 类与类之间的关系大概有6种,要看懂UML图,首先需要了解这几种关系。 1.1 继承关系 继承指的是一个类(称为子类,子接口)继承另外的一个类(成为父类,父接口)的功能,并可以增加它自己的新功能的能力。在UML类图设计中,继承用一条带空心三角箭头的实线表示,从子类指向父类,或者子接口 ......
设计模式 原则 之间 模式

Java23种设计模式和六大设计原则

1、设计模式的六大原则 ☛开闭原则 对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。简言之,是为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后面的具体设计中我们会提到这点。 ☛里氏代换原则 里氏代换原则是面向对象设计 ......
设计模式 原则 模式 Java 23

182_Power BI 使用 DAX 按照先进先出原则计算毛利润

# 182\_Power BI 使用 DAX 按照先进先出原则计算毛利润 ## 一、背景 在笔者以往的文章中也有先进先出的案例,可以参考(https://jiaopengzi.com/?s=%E5%85%88%E8%BF%9B%E5%85%88%E5%87%BA)。 今天我们来看一个网友提出的问题, ......
毛利润 毛利 原则 先进 Power

与 TDengine 性能直接相关——3.0 的落盘机制优化及使用原则

许多用户会有一个疑问,“落盘”俩字听起来就很底层,似乎无法和手头的性能问题联系到一起,本篇文章的目的就是让大家对它们俩建立起直观的认识。 ......
TDengine 机制 性能 原则 3.0

happens-before 原则

#### happens-before 简述 从 JDK 5 开始,Java 使用新的 JSR-133 内存模型。JSR-133 使用 happens-before 的概念来阐述操作之间的**内存可见性**。在 JMM 中,如果一个操作执行的结果需要对另一个操作可见,那么这两个操作之间必须要存在 h ......
happens-before 原则 happens before

rtos中,线程设计原则

设计原则: 运行时间长的线程的优先级应较低; 一个线程完成一个功能; 可重入函数: 可重入函数,可被中断,在这个函数执行的任何时刻可以中断它,转入执行另一段代码,返回时,不会出现什么错误; 多任务系统下,中断可能在任务执行的任何时间发生,一个函数的执行期间被中断后,到重新恢复到断点进行执行的过程中, ......
线程 原则 rtos

mysql优化原则

##### 1.尽量不要在列上运算,这样会导致索引失效 ``` 例如:select * from admin where year(admin_time)>2014 优化为: select * from admin where admin_time> '2014-01-01′ ``` ##### 2 ......
原则 mysql

最左匹配原则(转)

### 一、最左匹配原则的原理 ``` MySQL 建立多列索引(联合索引)有最左匹配的原则,即最左优先: 如果有一个 2 列的索引 (a, b),则已经对 (a)、(a, b) 上建立了索引; 如果有一个 3 列索引 (a, b, c),则已经对 (a)、(a, b)、(a, b, c) 上建立了 ......
原则

微服务CAP原则

微服务CAP原则 CAP原则又称CAP定理,指的是在一个分布式系统中,存在Consistency(一致性)、Availability(可用性)、Partition tolerance(分区容错性),三者不可同时保证,最多只能保证其中的两者。 一致性(C):在分布式系统中的所有数据备份,在同一时刻都是 ......
原则 CAP

自动化测试中的测试用例设计原则

[toc] 《自动化测试中的测试用例设计原则》 随着软件测试的重要性越来越受到重视,自动化测试已经成为了软件测试中不可或缺的一部分。在自动化测试中,测试用例的设计是至关重要的一环,其设计的质量直接影响测试的效果和测试用例的可靠性。本文将介绍自动化测试中的测试用例设计原则,并提供具体的实现步骤和示例。 ......
原则

设计微服务的最佳实践是什么?有哪些原则?

设计微服务的最佳实践有以下几个方面: 单一职责原则(Single Responsibility Principle):每个微服务应该专注于完成一个具体的业务功能,并且只有一个明确的职责。这样可以使得服务的代码、逻辑和数据模型保持简洁和清晰,易于理解和维护。 松耦合和高内聚(Loose Couplin ......
原则

mysql索引及索引创建原则

# 1. mysql索引及索引创建原则 [TOC] ## 1.1. 使用场景 ### 1.1.1. 什么时候用索引 首先mysql只对=,>,between,in,like使用索引,因此where和join(on)的时候就应该考虑到使用什么样的索引,而且要记住一条sql语句只能使用一个索引,比如有w ......
索引 原则 mysql

20230419 3. 单一职责原则

## 介绍 电子阅读器vs.手机: 理想的阅读,不管是优秀的小说,还是专业的图书,经过一段适应时间,可以进入一种沉浸状态,达到'心流'的境界。在这样的状态下,我们仿佛在作者面前与他交流,听他讲故事、听他表达思想,忘记了外界的环境、忘记了时间……进入这样的状态,我们会非常专注,废寝忘食,会拥有很大的充 ......
职责 20230419 原则

20230419 4. 开放-封闭原则

开放-封闭原则(The Open-Closeed Principle,OCP) 或叫 开-闭原则 开放-封闭原则,是说软件实体(类、模块、函数等)应该可以扩展,但是不可修改。 **这个原则其实是有两个特征,一个是说'对于扩展是开放的(Open for extension)',另一个是说'对于修改是封 ......
20230419 原则

20230419 5. 依赖倒转原则

## 依赖倒转原则 依赖倒转原则,也叫 依赖倒置原则 依赖倒转原则 1. 高层模块不应该依赖低层模块。两个都应该依赖抽象。 2. 抽象不应该依赖细节。细节应该依赖抽象。 要针对接口编程,不要对实现编程 **电脑硬件的发展,和面向对象思想发展是完全类似的。这也说明世间万物都是遵循某种类似的规律,谁先把 ......
20230419 原则

人工智能的道德原则:如何确保其公平性?

[toc] 人工智能是一种涉及多个领域的综合性技术,从应用层面来看,它具有诸如语音识别、图像识别、自然语言处理、机器学习、深度学习等能力。随着人工智能技术的不断发展,人们开始思考如何确保其公平性,以应对其对社会、经济和道德方面的潜在影响。因此,本文将探讨如何在确保人工智能公平性方面进行技术和实践的讨 ......
公平性 人工智能 人工 道德 原则

结构化倾听3F原则

情绪、事实和期待是有效的沟通技巧,可以帮助人们在沟通过程中更好地表达自己的想法和意见,避免产生误解和冲突。这三个元素分别表示: 情绪(Feeling):表示对某个事情或情境的感受、情感和态度。它可以是积极的或消极的,表达个人的情感体验和态度倾向。 事实(Fact):表示客观的、可验证的信息和数据,不 ......
原则 结构

人工智能的道德原则:如何确保其公平性?

[toc] 人工智能是一种涉及多个领域的综合性技术,从应用层面来看,它具有诸如语音识别、图像识别、自然语言处理、机器学习、深度学习等能力。随着人工智能技术的不断发展,人们开始思考如何确保其公平性,以应对其对社会、经济和道德方面的潜在影响。因此,本文将探讨如何在确保人工智能公平性方面进行技术和实践的讨 ......
公平性 人工智能 人工 道德 原则

CAP原则(CAP定理)、BASE理论

一、CAP原则 CAP原则又称CAP定理,指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可得兼。 CAP原则是NOSQL数据库的基石。 分布式系统的CAP理论:理论首先把分布式系统中的三 ......
定理 CAP 原则 理论 BASE

面向对象设计原则-01

### 概述 面向对象设计的原则是为了提高软件的可维护性和可复用性。最好是在保持可维护性的同时,提高可复用性。 ### 单一职责原则 单一职责原则(Single Responsibility Principle, SRP):一个对象应该只包含单一的职责,并且该职责被完整地封装在一个类中。 一个类承担 ......
对象 原则 01

大同网站建设中的设计和美学原则

网站建设是一个复杂而又有趣的过程,它涉及到多方面的知识和技能,如编程、美术、交互、营销等。在网站建设中,设计和美学是非常重要的因素,它们直接影响到网站的功能、效果和用户体验。那么,如何遵循一些设计和美学的原则,来创建一个优秀的网站呢?本文将从以下几个方面进行介绍: 以用户为中心。这是网站设计的核心原 ......
美学 网站建设 原则 网站

软件设计原则(转)

原文:https://mp.weixin.qq.com/s?__biz=MzA3NjU5ODU1Nw==&mid=2247484119&idx=1&sn=a05e38fc0f67e9de93cd44fe2647a6bb&chksm=9f5f9ea5a82817b373c45f39fc87706f29 ......
原则 软件

面向对象的设计原则

什么样的代码可以称之为好代码?又如何评价代码比较差?每个人也许都有自己的标准,但是在软件设计领域中,有一套通过经验总结出来的,可以有效解决问题的指导思想和方法论,遵从这些原则,可以事半功倍,反之则有可能带来一些麻烦。 ## SOLID `SOLID`是五种设计原则首字母的缩写,有趣的是这个单词本身就 ......
对象 原则

设计原则之组合优先继承

“组合优于继承”是一个面向对象编程的设计原则,它建议我们在需要复用代码的时候,尽量使用组合(has-a)的方式,而不是继承(is-a)的方式。组合是指一个类包含另一个类的对象作为自己的属性,而继承是指一个类直接从另一个类派生出来,拥有其所有的属性和方法。 为什么要使用组合而不是继承呢?主要有以下几个 ......
原则