设计模式

2023-03-06 13:41:29 浏览数 (3)

???? 什么是设计模式?

设计模式(Design Pattern) 是解决软件开发某些特定问题而提出的一些解决方案也可以理解成解决问题的一些思路。它并不是语法规定而是一套帮助我们增强代码的可重用性、可扩充性、 可维护性、可读性、健壮性以及安全性的解决方案!

设计模式由GoF(Gang Of Four)**于1995年联合发布出版了《设计模式:可复用面向对象软件的基础》一书,从此树立了软件设计的里程碑。因此**23种设计模式**也被称为GoF23,也叫GoF设计模式**。

???? 设计模式有哪些?

设计模式分为三大类,分别是创建型模式结构型模式行为型模式

  • 创建型模式
代码语言:javascript复制
 工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式、
  • 结构型模式
代码语言:javascript复制
适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式、
  • 行为型模式
代码语言:javascript复制
策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、
命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式、

???? OOP 七大原则

  • 开闭原则(Open Close Principle)
代码语言:javascript复制
对软件实体的改动,最好用扩展而非修改的方式。如果要修改代码,尽量用继承或组合的方式来扩展类的功能
,而不是直接修改类的代码.
  • 里氏替换原则(Liskov Substitution Principle)
代码语言:javascript复制
尽量把父类设计为抽象类或者接口,让子类继承父类或实现父接口,子类可以扩展父类的功能,但不能改变父类
原有的功能。
1. 老爸能干的事情,儿子都能干。
2. 但是儿子能干的事情老爸不一定能干。

里氏代换原则是开闭原则的具体实现手段之一。
  • 依赖倒置原则(Dependence Inversion Principle)
代码语言:javascript复制
要依赖抽象,不要依赖具体类。这个和针对接口编程, 而不是面向实现编程很像。但是它更强调抽象。这个原则
是不能让高层组件依赖底层组件,而且高层组件和低层组件都应该依赖抽象。
  • 单一职责原则(Single Responsibility Principle)
代码语言:javascript复制
一个类只承担一个职责,千万不要让一个类干的事情太多。
要面向接口编程,不要面向实现编程。
  • 接口隔离原则(Interface Segregation Principle)
代码语言:javascript复制
要为各个类建立他们需要的专用接口。
接口最小化。接口中的方法应该尽量少。和单一职责原则类似
  -  单一职责针对的是类,
  -  接口隔离针对的是接口
  • 迪米特法则(Demeter Principl)
代码语言:javascript复制
- 只与你的直接朋友交谈,不跟“陌生人”说话。
- 类向外公开的方法应该尽可能的少,
- 依赖的对象尽可能的少(只依赖应该依赖的对象)

0 人点赞