二十三种设计模式 之 初识设计模式

简介: 二十三种设计模式 之 初识设计模式

什么是设计模式?

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

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

设计模式有哪些?

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

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

OOP 七大原则

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

里氏代换原则是开闭原则的具体实现手段之一。
  • 依赖倒置原则(Dependence Inversion Principle)
要依赖抽象,不要依赖具体类。这个和针对接口编程, 而不是面向实现编程很像。但是它更强调抽象。这个原则
是不能让高层组件依赖底层组件,而且高层组件和低层组件都应该依赖抽象。
  • 单一职责原则(Single Responsibility Principle)
一个类只承担一个职责,千万不要让一个类干的事情太多。
要面向接口编程,不要面向实现编程。
  • 接口隔离原则(Interface Segregation Principle)
要为各个类建立他们需要的专用接口。
接口最小化。接口中的方法应该尽量少。和单一职责原则类似
  -  单一职责针对的是类,
  -  接口隔离针对的是接口
  • 迪米特法则(Demeter Principl)
- 只与你的直接朋友交谈,不跟“陌生人”说话。
- 类向外公开的方法应该尽可能的少,
- 依赖的对象尽可能的少(只依赖应该依赖的对象)
目录
相关文章
|
6月前
|
设计模式
二十三种设计模式全面解析-职责链模式的高级应用-日志记录系统
二十三种设计模式全面解析-职责链模式的高级应用-日志记录系统
102 1
|
6月前
|
设计模式 算法
二十三种设计模式全面解析-深入解析模板方法模式的奇妙世界
二十三种设计模式全面解析-深入解析模板方法模式的奇妙世界
|
6月前
|
设计模式
二十三种设计模式全面解析-访问者模式的高级应用和实践技巧
二十三种设计模式全面解析-访问者模式的高级应用和实践技巧
|
6月前
|
设计模式 UED
二十三种设计模式:解锁软件开发的神器:命令模式与撤销重做功能
二十三种设计模式:解锁软件开发的神器:命令模式与撤销重做功能
165 0
|
6月前
|
设计模式
二十三种设计模式:解密职责链模式-购物优惠活动的设计艺术
二十三种设计模式:解密职责链模式-购物优惠活动的设计艺术
|
6月前
|
设计模式 调度
二十三种设计模式全面解析-解密命令模式:掌握控制权的设计艺术
二十三种设计模式全面解析-解密命令模式:掌握控制权的设计艺术
|
6月前
|
设计模式
二十三种设计模式全面解析-解锁外观模式的神秘面纱:深入探讨外观模式的魔力
二十三种设计模式全面解析-解锁外观模式的神秘面纱:深入探讨外观模式的魔力
|
6月前
|
设计模式
二十三种设计模式全面解析-解放组件间的通信束缚:深入探讨中介者模式的高级应用和进阶技巧
二十三种设计模式全面解析-解放组件间的通信束缚:深入探讨中介者模式的高级应用和进阶技巧
105 0
|
6月前
|
设计模式
二十三种设计模式全面解析-解密中介者模式:构建灵活的通信桥梁
二十三种设计模式全面解析-解密中介者模式:构建灵活的通信桥梁
|
6月前
|
设计模式 存储 缓存
二十三种设计模式全面解析-探索解释器模式如何应对性能挑战
二十三种设计模式全面解析-探索解释器模式如何应对性能挑战