【图解设计模式系列】23句话总结23种设计模式
首先 我们为什么需要设计模式?
其实 我们不需要把他们想象成一个很复杂很高级的东西。这些东西其实都是经验之谈,经过了千千万万程序员的总结思考得出来的。如果你写的代码足够多,自然你也会思考如何让代码写的更清楚。所以这些设计模式是为了更好的让我们上手写出更整洁优秀的代码,所以 设计模式不是不变的 而是随着时代的变化而变化,有一些新的设计模式被提出来 有一些旧的设计模式很少用。
所以总结性的来说 我们需要设计模式 是因为我们想把代码写的:降低对象之间的耦合,增加程序的可复用性、可扩展性、可维护性。
设计模式有哪些分类?
创建者模式:用来创建对象
结构型模式:主要是描述类或者对象是怎样交互和怎样分配职责的。
行为型模式:用于处理类或者对象的组合
这些分类看上去还是很抽象。
具体分类
创建者模式
单例模式:确保某一个类只有一个实例,并且提供一个全局访问点。
建造者模式: 用来创建复杂的复合对象。
工厂方法模式 :让子类来决定要创建哪个对象。
抽象工厂模式:创建多个产品族中的产品对象。
原型模式:通过复制原型来创建新对象。
行为型模式
策略模式:封装不同的算法,算法之间能互相替换。
状态模式:根据不同的状态做出不同的行为。
责任连模式:将事件沿着链去处理。
观察者模式:状态发生改变时通知观察者,一对多的关系。
模板方法模式:定义一套流程模板,根据需要实现模板中的操作。
迭代器模式:提供一种方法顺序访问一个聚合对象中的各个元素。
备忘录模式:保存对象的状态,在需要时进行恢复。
访问者模式:稳定数据结构中,定义新的操作行为。
中介者模式:将网状结构转变为星型结构,所有行为都通过中介。
解释器模式:定义语法,并对其进行解释。
命令模式 :将请求封装成命令,并记录下来,能够撤销与重做。
结构型模式
外观模式、桥接模式、组合模式、享元模式。
代理模式 :控制客户端对对象的访问。
组合模式:将整体与局部(树形结构)进行递归组合,让客户端能够以一种的方式对其进行处理。
适配器模式:将原来不兼容的两个类融合在一起。
装饰者模式 :为对象添加新功能。
享元模式:使用对象池来减少重复对象的创建。
外观模式 :对外提供一个统一的接口用来访问子系统。
桥接模式:将两个能够独立变化的部分分离开来。
另外,除了这23种经典的设计模式,还涌现出其他的一些新的设计模式,比如:规格模式、对象池模式、雇工模式、黑板模式和空对象模式等等。后面有时间的话也会对这些模式进行分析。

浙公网安备 33010602011771号