设计模式

如果把类理解为实现某个功能的器具,把接口理解为一种行为的抽象规范。把软件理解为机器,那么可以这样理解设计模式。

器具的创建:

工厂模式:有一个工厂,这个工厂专门生产器具,你只要传入你的要求,就会给你一个器具。

单例模式:有一种器具在机器里只可以存在一个,比如心脏,那么就必须保证这个器具只能存在一个。

原型模式:器具的打造太耗费时间了,但是直接拷贝却很快。

建造者模式:用户传入具体器具的参数,然后返回符合这种参数的器具的实例。

而从器具之间的关系来看,有这些模式。

代理模式:有的器具比较娇贵,只能通过代理器具与其他器具交互。

适配器模式:比如一个器具的把手太短了,可以通过适配器把这个把手加长。

桥接模式:我们可以把一个复杂的器具,分解伟多个小的器具,然后通过随意组合的模式来实现这个复杂的器具。

装饰者模式:与代理模式的区别在于,代理模式的目的是保护器具,而这个是扩展器具。

外观模式:通过一个简单的器具,将原本复杂的操作隔离在内部,也叫屏蔽复杂度。

享元模式:器具太多,耗费太多的电,如果可以共用一些器具,就可以少用一些电。

组合模式:使多个类似的器具组合在一起,在外部看来,无论是一个还是多个,其使用方法一致。

观察者模式:观察者器具放入被观察者器具内部,一到被观察者器具的状态发生了改变,则被观察者器具就调用观察者器具指定的方法。

中介者模式:观察者模式的优化。

原文地址:https://www.cnblogs.com/mrzhu/p/14055928.html