一 、设计模式概述
B站最全最详细的Java设计模式_通俗易懂的视频教程!!!_哔哩哔哩_bilibili
1.什么是设计模式
设计模式是一套被多数人知晓、经过分类编目的、反复使用的优秀代码设计经验的总结。
注意,具体到某个设计模式,它只是特定环境下特定问题的处理方式。
单词本身起源于建筑工程领域。1995年GoF出版《Deslgn Pattems:Elements of Reusable Object-Oriented Software 》,第一次将设计模式提升到理论高度,并将之规范化。该书提出了23种基本设计模式。时至今日,在可复用面向对象软件的发展过程中,新的设计模式仍然不断出现
2.设计模式的作用
1. 重用设计和代码
重用设计比重用代码更有意义,自动带来代码重用
2.提高扩展性
大量使用面向接口编程,预留扩展插槽,新的功能特性很容易加入到系统中来
3.提高灵活性
大量使用组合而不是继承来提高灵活性,可以允许代码修改平稳发生,对一处的修改不会波及到很多其他模块
4.提高开发效率
正确使用设计模式,可以节省大量的时间
3.设计模式分类
分类1:按照设计模式解决的问题可以分为创建型设计模式、结构性设计模式、行为型设计模式。
创建型设计模式:对象实例化的模式,用于解耦对象的实例化过程。
结构型模式:把类或对象结合在一起形成一个更大的结构。
行为型模式:类和对象如何交互,及划分责任和算法
分类2:根据是处理对象间关系还是父子类间关系,分为类设计模式和对象设计模式
类设计模式:用于处理类和子类之间的关系。通过继承建立关系是静态的在编译时就已经确定。因为从某种意义上说,几乎所有模式都是使用继承机制,因此此处的“类模式”是指集中处理类间关系的模式,只是很少部分模式属于此类。
对象设计模式:用于处理对象间的关系。这些关系具有动态性,在运行期间是可变化的。