无脑速通设计模式设计模式简介 | 七大原则 | 模式分类
Posted 风落_
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无脑速通设计模式设计模式简介 | 七大原则 | 模式分类相关的知识,希望对你有一定的参考价值。
设计模式由四人帮(全拼 Gang of Four)首次提出,代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是经过高度抽象化的在编程中可以被反复使用的代码设计经验的总结,是人们经过长期编程经验总结出来的一种编程思想。基于设计模式的原则,我们可以根据开发需求改造或重新设计自己的设计模式。
个人认为掌握设计模式有三大好处:更容易看懂框架等优秀源码,更容易看懂工作实践中前辈们的代码,更容易编写自己的代码。
设计模式七大原则
设计模式有 7 个原则:单一职责原则、开闭原则、里氏替换原则、依赖倒转原则、接口隔离原则、
合成/聚合复用原则、迪米特法则。
单一职责原则
单一职责原则又称为单一功能原则,它规定了一个类只能有一个职责。如果有多个职责(功能)被设计在一个类中,这个类就违反了单一职责原则。
开闭原则
开闭原则规定软件中的对象(类、模块、函数等)对扩展开放,对修改关闭。这意味着一个实体允许在不改变其源代码的前提的下改变其行为,该特性在产品化的环境下是特别有价值的,在这种环境下,改变源代码需要经过代码审查、单元测试等过程,以确保产品的使用质量。遵循这个原则的代码在扩展时并不发生改变,因此不用经过上述流程。
里氏替换原则
里氏替换原则是对开闭原则的补充,规定了在任意父类可以出现的地方,子类都一定可以出现。实现开闭原则的关键就是抽象化,父类与子类的继承关系就是抽象化的具体体现,所以里氏替换原则就是对实现抽象化的具体步骤的规范。
依赖倒转原则
依赖倒转原则指程序要依赖于抽象(比如 Java 中的抽象类和接口),而不是依赖于具体的实现(比如Java 中的实现类)。简单地说,就是要求基于抽象进行编程,不要求对实现进行编程,这就降低了模块间的耦合度。
接口隔离原则
接口隔离原则指通过将不同的功能定义在不同的接口中来实现接口的隔离,这样就避免了其他类在依赖该接口(接口上定义的功能)时依赖其不需要的接口,可减少接口之间依赖的冗余性和复杂性。
合成/聚合复用原则
合成/聚合复用原则指通过在一个新的对象中引入(注入)已有的对象以达到类的功能复用和扩展的目的。它的设计原则是要尽量使用合成或聚合而不要使用继承来扩展类的功能。
迪米特法则
迪米特法则指一个对象尽可能少的与其他对象发生相互作用,即一个对象对其他对象应该有尽可能少的了解或依赖。其核心思想在于降低模块之间的耦合度,提高模块的内聚性。因此很容易使系统模块之间功能独立,这使得各个模块的独立运行变得更简单,同时使得各个模块之间的组合变得更容易。
常见设计模式及分类
设计模式按照功能和使用场景可以分为三大类:
- 创建型模式
- 结构性模式
- 行为型模式
具体分类见下图:
后续单独叙述每个模式的示例代码及应用场景等。
以上是关于无脑速通设计模式设计模式简介 | 七大原则 | 模式分类的主要内容,如果未能解决你的问题,请参考以下文章
设计模式软件设计七大原则 ( 合成复用原则 | 代码示例 )
设计模式软件设计七大原则 ( 单一职责原则 | 代码示例 )