五种设计原则

一 单一职责原则

1、避免系统的职责分散到不同的类中

2、避免一个类承担过多的职责

好处是

可以减少类直接的耦合,提供类的复用性。

二 接口隔离原则

其实就是定制化服务设计原则,使用接口的多重继承实现对不同接口的组合,从而对外提供组合功能,打到按需提供服务。

三 开放-封闭原则

在扩展性方面是开放的,而在更改性方面是封闭的

四 替换原则

针对继承的设计原则

五 依赖倒置原则

时间: 2024-10-17 15:02:37

五种设计原则的相关文章

面向对象的三个基本特征 和 五种设计原则

一.三个基本特征 面向对象的三个基本特征是:封装.继承.多态. 封装 封装最好理解了.封装是面向对象的特征之一,是对象和类概念的主要特性. 封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏. 继承 面向对象编程 (OOP) 语言的一个主要功能就是"继承".继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展. 通过继承创建的新类称为"子类"或"

面向对象的七种设计原则

下面的截图:主要讲述了七种设计原则定名称,定义以及使用的频率. ? 原则一:(SRP:Single responsibility principle)单一职责原则又称单一功能原则 核心:解耦和增强内聚性(高内聚,低耦合) 描述: 类被修改的几率很大,因此应该专注于单一的功能.如果你把多个功能放在同一个类中,功能之间就形成了关联, 改变其中一个功能,有可能中止另一个功能,这时就需要新一轮的测试来避免可能出现的问题. 原则二:开闭原则(OCP:Open Closed Principle) 核心思想:

七种设计原则

七种设计原则 1.单一职责原则 单一职责原则(SRP:Single responsibility principle)又称单一功能原则 核心:解耦和增强内聚性(高内聚,低耦合). 描述: 类被修改的几率很大,因此应该专注于单一的功能.如果你把多个功能放在同一个类中, 功能之间就形成了关联,改变其中一个功能,有可能中止另一个功能,这时就需要新一轮的测试来避免可能出现的问题. 2.里氏替换原则 里氏替换原则(LSP:Liskov Substitution Principle) 核心: 在任何父类出现

Java设计模式的7种设计原则还有很多人不知道

前言 其实没有设计模式我们也能完成开发工作.但是为什么需要设计模式呢?让你看起来很牛,没错这个算一个.让你的代码层次感分明,可读性强而且容易维护.让你像我一样有更多的摸鱼划水时间. 可能有人说我一个类或者方法就干完的东西,你搞了七八个.当然使用设计模式也是要斟酌的.一些简单稳定的业务也不推荐使用设计模式.设计模式多用于复杂多变的业务或者要求适配性.扩展性更强的场景中.不要为了设计模式而设计模式. 接下来我们结合实际开探讨一下设计模式的一些原则. 1.开闭原则 public class Selle

C++标准库分析总结(五)——<Deque设计原则>

本节主要总结标准库Deque的设计方法和特性以及相关迭代器内部特征 1.Deque基本结构 Deque(双向队列)也号称连续空间,其实它使用分段拼接起来的(分段连续),各个分段间是用Vector来管理的,Vector的每个元素就是一个指针,每个指针指向一个分段,每一个分段就是一个缓冲区buffer,首位安插元素时,当缓冲区满了需要扩充时,就重新分配一个缓冲区然后串在Vector里面: Deque的迭代器有4个指针,其中node表示在控制中心的位置(也就是在Vector中的位置),first表示n

GOF 的23种JAVA常用设计模式总结 03 面向对象七大设计原则

在软件开发中,为了提高软件系统的可维护性和可复用性,增加软件的可扩展性和灵活性,程序员要尽量根据 7 条原则来开发程序,从而提高软件开发效率.节约软件开发成本和维护成本. 各位代码界的大佬们总结出的七大设计原则,还是需要好好了解一下 1.开闭原则 开闭原则(Open Closed Principle,OCP)由勃兰特·梅耶(Bertrand Meyer)提出,他在 1988 年的著作<面向对象软件构造>(Object Oriented Software Construction)中提出:软件实

第2章 面向对象的设计原则(SOLID):6_开闭原则

6. 开闭原则(Open Closed Principle,OCP) 6.1 定义 (1)一个类应该对扩展开放,对修改关闭.要求通过扩展来实现变化,而且是在不修改己有的代码情况下进行扩展,也不必改动己有的源代码或二进制代码. (2)在软件生命周期内,变化是一个既定的事实,在设计时尽量适应这些变化,以提高项止的稳定性和灵活性,真正实现“拥抱变化”.而开闭原则告诉我们要通过扩展来实现这些变化而不是修改原来代码. (3)修改关闭,并不意味着软件不做任何的改动,低层模块的变更,必然要高层模块进行耦合,否

喵星之旅-沉睡的猫咪-面向对象的设计原则

一.设计原则是什么? 有句话叫“人民群众是历史的创造者”,他的意思我理解为任何的理论都是基于具体的客观展现总结出来的,没有人民创造的既定事实,就无法出现任何的有理有据的理论模型. 对于面向对象的软件设计,最著名的一本书就应该是当年gof的那一本<设计模式:可复用面向对象软件的基础>.设计模式是面对具体问题,进行抽象分类,然后总结出来的行之有效的解决方案,就像人去创造历史.设计原则是进一步研究这些解决方案,进一步抽象出的指导思想. 如果把设计模式比喻成传统数学,即“1+1=2”的那套理论,那么设

浅谈Java六大设计原则

笔者刚接触设计原则的时候,觉得一头雾水,不知道他有什么用.在经历了一段时间的代码加上了解Java设计模式之后.笔者忽然觉得自己以前写的代码就是一堆*.所以,笔者认为设计原则和设计模式对于软件编程设计(非码农)来说是至关重要的事情.相信很多学习编程的人,和我有同样的感受. 我对设计模式和设计原则的理解是:如果把程序员比作武侠,那么设计模式就是修炼内功的易筋经,设计原则就是修炼内功的心法总纲,而具体的技术实现(代码编写)就是罗汉拳.如果你只想自保,那么会罗汉拳就可以了(能够用代码实现功能),不过如果