为了方便大家快速了解设计模式,这里尽量使用简洁的方式介绍24种设计模式。
简单工厂
一句话介绍:选择实现。
简单工厂就是提供一个创建对象实例的功能,而无须关心其具体实现。
外观模式
一句话介绍:封装交互,简化调用。
外观模式就是为子系统中的一组接口提供一个高层接口,这个接口使得这一子系统更加容易使用。
适配器模式
一句话介绍:转换匹配,复用功能。
适配器模式就是将一个类的接口转换成另外一个接口,解决接口不兼容的问题。
单例模式
一句话介绍:控制实例数目。
单例模式就是一个类仅有一个实例,并提供一个全局访问点。
工厂方法模式
一句话介绍:延迟到子类来选择实现。
工厂方法模式就是定义一个用于创建对象的接口,让子类决定实例化哪一个类(也就是使一个类的实例化延迟到其子类)。
抽象工厂模式
一句话介绍:选择产品簇的实现。
抽象工厂模式就是提供一个创建一系列相关或相互依赖对象的接口,但无需指定具体的类。
生成器模式
一句话介绍:分离整体构建算法和部件构造。
生成器模式就是将一个复杂对象的构建与表示分离(这样就使得同样的构建过程可以创建不同的表示)。
原型模式
一句话介绍:克隆生成对象。
原型模式就是用原型实例指定创建对象的种类,并通过拷贝这些原型克隆新的对象。
中介者模式
一句话介绍:封装交互。
中介者模式就是用一个中介对象来封装一系列的对象交互,从而使得各对象不需要显式地相互引用,可以独立地改变它们之间的交互。
代理模式
一句话介绍:控制对象访问。
代理模式就是为其他对象提供代理以控制这个对象的访问。
观察者模式
一句话介绍:触发联动。
观察者模式就是定义对象间的一对多的依赖关系,使得一个对象的状态发生改变时,所有依赖它的对象都能自动更新。
命令模式
一句话介绍:封装请求。
命令模式就是将一个请求封装为对象,从而将请求参数化,对请求进行排队、记录请求日志,以及可撤销等操作。
迭代器模式
一句话介绍:控制访问聚合对象中的元素。
迭代器模式就是提供一种不需暴露该对象的内部表示的方法顺序访问一个聚合对象中的各个元素。
组合模式
一句话介绍:统一叶子对象和组合对象。
组合模式就是将对象组合成树形的层次结构,使得用户对单个对象和组合对象的使用具有一致性。
模板方法模式
一句话介绍:固定算法骨架。
模板方法模式就是定义一个操作中的算法的骨架,使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
策略模式
一句话介绍:分离算法,选择实现。
策略模式就是定义并且封装一系列的算法,使它们可相互替换。
状态模式
一句话介绍:根据状态来分离和选择行为。
状态模式就是允许一个对象在其内部状态发生改变时改变它的行为。
备忘录模式
一句话介绍:保存和恢复内部状态。
备忘录模式就是在不破坏封装的前提下,捕获并保存一个对象的内部状态。而且以后还可将该对象恢复到所保存的状态。
享元模式
一句话介绍:分离与共享。
享元模式就是运用共享技术有效地支持大量细粒度的对象。
解释器模式
一句话介绍:分离实现,解释执行。
解释器模式就是给定一个语言,并定义一个解释器来解释语言中的句子。
装饰模式
一句话介绍:动态组合。
装饰模式就是动态地给一个对象添加一些额外的职责。
职责链模式
一句话介绍:分离职责,动态组合。
职责链模式就是将多个职责分离的对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。
桥接模式
一句话介绍:分离抽象和实现。
桥接模式就是将抽象部分与实现部分分离,使得它们可以独立变化。
访问者模式
一句话介绍:预留通路,回调实现。
访问者模式就是在不改变各元素的类的前提下定义作用于这些元素的新操作。
这正是:
一言概括模式全,廿四良方利实践
方便学习技艺进,设计精妙技能添
参考书目:研磨设计模式,作者:陈臣 王斌,出版社:清华大学出版社