设计模式:单一职责原则,开放封闭原则,依赖倒转原则,理氏代换原则

简介: 还是那几句话:学无止境,精益求精十年河东,十年河西,莫欺少年穷学历代表你的过去,能力代表你的现在,学习代表你的将来废话不多说,直接进入正题:单一职责原则:按照大话设计模式的解读,所谓单一职责原则是指:就一个类而言,应该仅有一个引起它变化的原因!如果一个类承担的职责过多,就等于把这些职责耦合在一起,这无形中增加了设计的耦合度。

还是那几句话:

学无止境,精益求精

十年河东,十年河西,莫欺少年穷

学历代表你的过去,能力代表你的现在,学习代表你的将来

废话不多说,直接进入正题:

单一职责原则:

按照大话设计模式的解读,所谓单一职责原则是指:就一个类而言,应该仅有一个引起它变化的原因!

如果一个类承担的职责过多,就等于把这些职责耦合在一起,这无形中增加了设计的耦合度。这个类中一个职责的变化,可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当它发生变化时,设计会遭到意想不到的破坏!

换言之:

软件设计真正要做的许多内容,就是发现更多职责并把发现的职责作分离!

开放封闭原则:

这个原则其实有两个特性,一个是说对于扩展是开放的,另一个是说,对于修改是封闭的(ASD原则)

由于被篇幅还挺多,我在这里就不一一打字说明了!直接贴出一些重要的话语吧!

在此,举个例子:

如同之前我写的博客:简单工厂模式,策略模式、

简单工厂模式(例子):实现加减乘数的运算。

策略模式(例子):商场促销策略

同理,当商场推出一个全新的促销策略时,我们要做的不是去修改原来的策略,还是增加对应的策略即可!这就是所谓了不修改,而是去扩展!

在此;对开放封闭原则作个总结,如下:

依赖倒转原则:

 

我在依赖倒转原则的理解为:强内聚,松耦合!

理氏代换原则:

这里可理解为:大部分鸟会飞,但企鹅,鸵鸟不会分。因此,按照理氏代换原则,企鹅或者鸵鸟是不能继承鸟类的!

OK,本篇博客,大多都是理论知识,我理解的也很平平!因此,写的不是很好,希望大家多多包涵!

如果需要查看大话设计模式,请下载如下PDF文件:http://download.csdn.net/download/wolongbb/10198756

也可以参考上篇博客:http://www.cnblogs.com/chenwolong/p/8259213.html

 @陈卧龙的博客

目录
打赏
0
0
0
0
4
分享
相关文章
设计模式觉醒系列(01)设计模式的基石 | 六大原则的核心是什么?
本文介绍了设计模式的六大原则,包括单一职责原则(SRP)、开闭原则(OCP)、里氏替换原则(LSP)、接口隔离原则(ISP)、依赖倒置原则(DIP)和迪米特法则。通过具体案例分析了每个原则的应用场景及优势,强调了这些原则在提升代码可维护性、可复用性、可扩展性和降低耦合度方面的重要作用。文章指出,设计模式的核心在于确保系统模块间的低耦合高内聚,并为后续深入探讨23个经典设计模式打下基础。
|
5月前
|
PHP中的设计模式:单一职责原则在软件开发中的应用
【10月更文挑战第8天】 在软件开发中,设计模式是解决常见问题的经验总结,而单一职责原则作为面向对象设计的基本原则之一,强调一个类应该只有一个引起变化的原因。本文将探讨单一职责原则在PHP中的应用,通过实际代码示例展示如何运用该原则来提高代码的可维护性和可扩展性。
50 1
【23种设计模式·全精解析 | 概述篇】设计模式概述、UML图、软件设计原则
本系列文章聚焦于面向对象软件设计中的设计模式,旨在帮助开发人员掌握23种经典设计模式及其应用。内容分为三大部分:第一部分介绍设计模式的概念、UML图和软件设计原则;第二部分详细讲解创建型、结构型和行为型模式,并配以代码示例;第三部分通过自定义Spring的IOC功能综合案例,展示如何将常用设计模式应用于实际项目中。通过学习这些内容,读者可以提升编程能力,提高代码的可维护性和复用性。
【23种设计模式·全精解析 | 概述篇】设计模式概述、UML图、软件设计原则
React开发设计模式及原则概念问题之自定义Hooks的作用是什么,自定义Hooks设计时要遵循什么原则呢
React开发设计模式及原则概念问题之自定义Hooks的作用是什么,自定义Hooks设计时要遵循什么原则呢
设计模式——设计模式简介和七大原则
设计模式的目的和核心原则、单一职责原则、接口隔离原则、依赖倒转原则、里氏替换原则、开闭原则、迪米特法则、合成复用原则
PHP中的设计模式:单一职责原则在维护性提升中的应用
【10月更文挑战第3天】 在软件开发中,设计模式是解决常见问题的高效方案。本文聚焦于PHP开发,探讨如何运用单一职责原则优化代码结构,提高系统可维护性。通过分析实际案例,本文展示了单一职责原则在降低代码复杂性、增强代码可读性和促进团队协作方面的显著效果。此外,文章还将讨论在实际项目中实施单一职责原则时可能遇到的挑战及应对策略,旨在为PHP开发者提供实用的指导和启示。
38 2
PHP中的设计模式:单一职责原则在实战项目中的应用
在软件开发中,设计模式是解决问题的最佳实践。本文通过分析单一职责原则(SRP),探讨了如何运用这一原则来提升PHP项目的可维护性和扩展性。我们将从实际案例出发,展示单一职责原则在业务逻辑分离、代码解耦和提高测试效率方面的应用。无论是新手还是经验丰富的开发者,都能从中获益,进而编写出更健壮、更灵活的PHP代码。
59 5
PHP中的设计模式:单一职责原则在实战中的应用
在软件开发中,设计模式是解决常见问题的成熟方案。本文将通过分析单一职责原则这一设计原则,探讨如何在PHP应用程序中应用这一原则来提高代码的可维护性、扩展性和灵活性。我们将从实际案例出发,展示单一职责原则的具体应用方法,并解释其对项目开发周期和质量的积极影响。无论你是PHP初学者还是经验丰富的开发者,都能从中获益,提升你的编程实践水平。
45 4
PHP中的设计模式:单一职责原则深度解析
在软件开发的广袤天地中,设计模式如同璀璨星辰,指引着我们穿越复杂系统的迷雾。本文聚焦于PHP环境,深入探讨“单一职责原则”(SRP),这一面向对象设计的基石。不同于常规摘要的简短概述,本文将引导您逐步揭开SRP的神秘面纱,从理论精髓到实践路径,再到其在PHP中的应用实例,为您呈现一场关于代码清晰性、可维护性和扩展性的深度之旅。
设计模式问题之最小知识原则(迪米特法则)对代码设计有何影响,如何解决
设计模式问题之最小知识原则(迪米特法则)对代码设计有何影响,如何解决
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等