软件设计 五大基本原则

SOLID原则:软件设计的五大基本原则 在上面的示例中,Rectangle类代表矩形,Square类继承自Rectangle并代表正方形。如果我们需要添加新的形状,例如Triangle,我们只需要创建一个新的类实现Shape接口,而不需要修改AreaCalculator类。根据单一职责原则,我们应该将这些功能拆分成独立的类,每个类负责一个单一的功能。这些原则提供了指导我们进行软件设计的准则,使得代码更加健壮、可读性更高,并且降低了代码的耦合度。通过将功能拆分成独立的类,我们提高了代码的可维护性和可测试性,同时降低了类的复杂度。 阅读详情

五大基本原则:

1、单一职责原则SRP(Single Responsibility Principle)
类的功能要单一,不能包罗万象,跟杂货铺似的。
2、开放封闭原则OCP(Open-Close Principle)
一个模块对于拓展是开放的,对于修改是封闭的,想要增加功能热烈欢迎,想要修改,哼,一万个不乐意。
3、里式替换原则LSP(the Liskov Substitution Principle LSP)
子类可以替换父类出现在父类能够出现的任何地方。比如你能代表你爸去你姥姥家干活。哈哈~~
4、依赖倒置原则DIP(the Dependency Inversion Principle DIP)
高层次的模块不应该依赖于低层次的模块,他们都应该依赖于抽象。抽象不应该依赖于具体实现,具体实现应该依赖于抽象。就是你出国要说你是中国人,而不能说你是哪个村子的。比如说中国人是抽象的,下面有具体的xx省,xx市,xx县。你要依赖的是抽象的中国人,而不是你是xx村的。
5、接口分离原则ISP(the Interface Segregation Principle ISP)
设计时采用多个与特定客户类有关的接口比采用一个通用的接口要好。就比如一个手机拥有打电话,看视频,玩游戏等功能,把这几个功能拆分成不同的接口,比在一个接口里要好的多。



有。商业转载请联系作者获得授权,非商业转载请注明出处。

Tessy单元测试软件安装与破解避坑指南(附个人使用路径设置详解) 本文详细介绍了Tessy单元测试软件的安装与配置全流程,包括系统需求、服务器连接设置、环境变量配置等关键步骤,帮助开发者避开常见陷阱。特别提供了个人使用路径设置详解,确保Tessy在嵌入式开发环境中高效运行,适用于汽车电子、工业控制等领域。 阅读详情

相关推荐

Halcon实战:5种边缘检测算子对比(Sobel、Roberts、Prewitt、Kirsch、Canny)

本文深入对比了Halcon中Sobel、Roberts、Prewitt、Kirsch和Canny五大边缘检测算子的实战表现与核心差异。通过工业图像实例与代码解析,提供了基于噪声水平、边缘连续性及实时性要求的场景化选型指南,帮助工程师精准选择最适合的算子以优化视觉检测流程。

weixin_29266007的博客 393

软件设计的五大原则

一.UML的组合和聚合 1.组合:生命周期相同.如蜜蜂和其尾针的关系 2.聚合 :整体与局部的关系,两者都有其各自的生命周期。如鸟和鸟群的关系。 二.软件架构设计的目的都是为了达到强内聚低耦合 三.五大原则 1.开闭原则-OCP:对修改关闭,对拓展开放。 开闭原则提倡应该针对接口编程,而不是针对实现编程。因为针对实现编程,如果以后再添加一个新的功能模块就可能导致整体的功能都要修改。如下...

weixin_37644979的博客 6665

数学文化赏析MOOC笔记【2023】

深圳大学UOOC课程《数学文化赏析》课程笔记

simplenthpower的博客 1753

软件设计原则

简单描述设计模式的设计原则

NoBugNoLife的博客 942

sqoop抽取mysql的数据到hive表里面,字段内容被自动截取,导致字段不全的问题解决

今天央视重新转播NBA,写篇博客纪念一下这个重要的日子,湖人的表现就呵呵了!!!! 强行转到博客的主题来 mysql的字段属性:该字段能存下的值比如:“山东” `province` varchar(3) NOT NULL COMMENT '省份' 用sqoop sqoop import --connect "jdbc:mysql://xxxxxx:3306/xxxxxx?tinyInt1isBit=false&zeroDateTimeBehavior=convertToNull..

放肆桀骜 966

React 源码解析 | Reconcile协调过程

上篇讲了React的工作流程,这篇详细的讲一下render过程中的beginWork函数,也就是深度优先创建Fiber树中"递"的过程。beginWork函数传入当前已经创建好的Fiber节点,返回创建/复用的第一个子FIber节点,也就是wip.child在renderRoot中,在开始创建整棵FIber树之前,会先调用prepareRefreshStack创建/复用一个新的HostRootFiber。

weixin_40710412的博客 1220

JAVA面向对象的五大基本原则

文章目录原则一:单一职责原则原则二:开放封闭原则原则三:LisKov替换原则原则四:依赖倒置原则原则五:接口隔离原则 了解面向对象的思想时,之前仅仅了解了面向对象的三大特性,最近才发现原来面向对象在编程时还有五道金科玉律,这五大基本原则不必一定要遵守,但如《OOD启示录》中所说的:“你并不必严格遵守这些原则,违背它们也不会被处以宗教刑罚。但你应当把这些原则看做警铃,若违背了其中的一条,那么警铃就会响起。” 原则一:单一职责原则 简单来说,我们所创建的每一个类的职责越单一,越专注最好,最好只做一件事。是面向对

weixin_44062399的博客 2509

Chronos时间序列预测实战:从零开始微调你的第一个大语言模型(附完整代码)

本文提供了一份详细的Chronos时间序列预测大语言模型微调实战指南。从环境搭建、数据预处理到模型配置与训练,手把手教你如何利用自己的数据微调Chronos模型,并完成评估与部署,助你快速掌握这一前沿技术。

zzz56的博客 300

面向对象五大基本原则是什么

单一职责原则SRP(Single Responsibility Principle) 类的功能要单一,不能包罗万象,跟杂货铺似的。 开放封闭原则OCP(Open-Close Principle) 一个模块对于拓展是开放的,对于修改是封闭的,想要增加功能热烈欢迎,想要修改,哼,一万个不乐意。 里式替换原则LSP(the Liskov Substitution Principle LSP) 子类可以替换父类出现在父类能够出现的任何地方。比如你能代表你爸去你姥姥家干活。哈哈~~ 依赖倒置原则DIP(the Dep

最帅程序猿的博客 1344

Oracle EBS Interface/API(43) -自定义AP发票状态说明API

在某项目,客户需求获得AP发票的状态说明,例如对账系统或者某些报表。由于标准系统未提供状态说明,需要通过AP发票的标准Form获得相关业务逻辑,然后自定义AP发票状态说明API。

陈显平的专栏-Oracle EBS 607

【回眸】Tessy集成测试软件使用指南(一)新手使用篇

这个专栏的文章前4篇都在记录如何使用Tessy进行单元测试,集成测试需要有一定单元测试基础,且做集成测试之前,需要做好单元测试,否则将会大幅增加软件单元代码纠错的代价。集成测试所花费的时间通常远远超过单元测试。如果直接从单元测试到系统测试,结果往往是不理想的。集成测试可以检测由于单元相互交互而导致的错误,通常由一组专业的测试人员执行。

啤酒鸭的物联网开发记录博客 5291

Java五大基本原则

五大基本原则 单一职责原则SRP(Single Responsibility Principle)是指一个类的功能要单一,不能包罗万象。如同一个人一样,分配的工作不能太多,否则一天到晚虽然忙忙碌碌的,但效率却高不起来。开放封闭原则OCP(Open-Close Principle) 一个模块在扩展性方面应该是开放的而在更改性方面应该是封闭的。比如:一个网络模块,原来只服务端功能,而现在要加入客户端功...

基咯咯 3853

团体程序设计天梯赛竞赛题--登顶题【L3-042 污染大亨】

登顶级 3 道题,每道题 30 分,满分为 90 分。

Pretty Boy Fox的博客 1361

面向对象的五大基本原则总结

面向对象的五大基本原则总结 1单一职责原则 2开放封闭原则 3里氏替换原则 4依赖倒置原则 5接口隔离原则 单一职责原则 一个类应该仅有一个引起它变化的原因(最简单,最容易理解却最不容易做到的一个设计原则) 开放封闭原则  既开放又封闭,对扩展是开放的,对更改是封闭的! 扩展即扩展现行的模块,当我们软件的实际应用发生改变时,出现新的需求,就需要我们对模块进行扩展,使其能

LS1910831673的博客 840

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

OO的五大原则

本文转载自:http://hi.baidu.com/lzycome/blog/item/a15e63d387421cd6a8ec9a64.html如需转载,请注明出处,谢谢。  一 单一职责原则:类的单一职责是说一个类应该只做一件事情,如果类中某个方法或属性与它所要完成的职责无关或是为了完成另外的职责那么这样的设计就不符合类的单一职责。而这样的设计的缺点是降

疯子之徒 2207

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

面向对象五大基本原则

以前一直认为程序中的类有使用到封装继承多态就是面向对象设计,其实不然 封装,继承,多态只是面向对象的三大特性,但是在设计程序的时候并不是说类的结构使用到了(或是体现出了)这三个特性就是面向对象, 其实真正的面向对象设计是要符合下面的五大原则, 面向对象的五大基本原则 单一职责原则(SRP) 开放封闭原则(OCP)  里氏替换原则(LSP)  依赖倒置原则(DIP)  接口隔离原则(ISP) ...

康师父Blog 680

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Java软件设计原则

先了解UML相关知识 UML类图 + 表示public - 表示privae # 表示protected ~ 表示defualt 下划线 表示static 斜体 表示abstract 开闭原则:对扩展开放,对修改闭合。 // 1.首先创建一个接口ICourse public interface ICourse { Integer getid(); S...

Crook的专栏 653

面向对象设计五大基本原则

1.单一职责原则 :就一个类而言,应该仅有一个引起它变化的原因。   一个类如果承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化时,设计会遭受意向不到的破坏。例如:游戏开发中 游戏界面,游戏逻辑 是分离的 类的职责分离。2.开放-封闭原则:软件实体(类,模块,函数等等)应该可以扩展,但是不可以修改。   对扩展开...

WangJQ12的博客 1259

面向对象之五大基本原则

1、单一职责原则(Single-Resposibility Principle):对一个类而言,应该仅有一个引起它变化的原因。本原则是我们非常熟悉地"高内聚性原则"的引申,但是通过将"职责"极具创意地定义为"变化的原因",使得本原则极具操作性,尽显大师风范。同时,本原则还揭示了内聚性和耦合生,基本途径就是提高内聚性;如果一个类承担的职责过多,那么这些职责就会相互依赖,一个职责的变化可能会影响另一个

专注,努力,勤奋 752

面向对象三大特性五大基本原则

三大特性:封装继承多态 封装:把客观的事物封装成抽象的类。 继承:让某个类的对象获得另一个类型的对象的属性的方法。 多态:一个类的实例的相同方法在不同情形下有不同的表现形式。多态机制使具有不同内部结构的对象可以共享相同的外部接口。 五大基本原则: 单一职责原则:一个类的功能要单一,不能包罗万象。 开放封闭原则:一个模块在扩展性方面应该是开放的,在更改性方面应该是封闭的。 里氏替换原则(the Liskov Substitution Principle LSP) :子类应当可以替换父类并出现在父类能够出现的任

qq_34266854的博客 164

架构设计五大原则 SOLID五大设计原则

SRP:单一职责原则 容易误认为是指:一个软件模块都应该只做一件事,实际上并不准确。单一职责原则准确描述应该是:一个软件模块都应该只对一类行为负责。 如果多个特性不同的项目同时依赖同一个底层接口,只要有任意一个项目需要改动依赖的底层接口逻辑,就会影响到其他项目。 单一职责原则主要讨论函数和类之间的关系,但在两个层面上有不同的表现形式。在组件层面,称为共同闭包原则;在软件架构层面,则用于奠定架构边界的变更轴心。 OCP:开闭原则 良好的软件设计应该是易于扩展,抗拒修改。 开闭原则主要目的是让.

xzh_blog 3433

设计模式之内功心法 SOLID五大原则

内功心法前言意义五经单一原则开闭原则里式替换接口隔离依赖倒置 前言 随着计算机行业的不断发展,人们对于可以给予自身快速成长的技术非常的痴迷。就比如今天要聊的设计模式,学过编程的都知道设计模式,而很少有人会知道它的核心思想是什么,只是一味的照着网络上流行的设计模式 二十三式 依葫芦画瓢。仅做到了知其然而不知其所以然。所以今天来聊聊它出现的意义什么 意义 我们知道一个江湖的组成是非常不容易的,在江湖中也会有很多的门派与帮派,而门派一多就会有各式各样的问题,这时就出来了一个叫做设计模式的东西,来处理门派在发

学习的doge 2246
上一篇: springboot 使用 javax.validation 进行优雅的参数校验
下一篇: oracle日期格式转换
宁漂打工仔
博客等级 码龄9年 1万+粉丝 153原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值