以下是自己学习过程中设计模式的理解:
适配器模式(Adapter)
适配器模式适用于将多种不同的调用方式适适配成一个标准的方式,就像一个多类型插座,各种两孔、三孔、扁型、圆型的插孔,最终连接的是电线。
建造者模式(Builder)
建造者模式主要用于将一个复杂对象的结构与构建分离,就比如一辆车是一个对象,建造一辆车是另一个对象,车对象主要用于实现车的相属性和功能,而建造对象则实现建造车的流程;
迭代器模式(Iterator)
迭代器模式,主要目的是分离数据聚合对象的遍历行为,设计这样一个的对象给外部访问数据聚合对象的内部数据,且不暴数据聚合对象的内部结构;
工厂模式(Factory)
基于此模式的设计的类,有助于减少主代码流中的条件判断,从而减少系统的复杂性;
换一种说法,就是将有相同接口的类,通过其子类来实例化;
中介者模式(Mediator)
中介者模式,用于定义一个中间对象,封装各对象间的交互操作,减少各对象相互间的藕合性;
观察者模式
此模式又被称为订阅-发布者模式,是一种事件驱动模式,用于一个物件的状态发布改变时,向所以关注/订阅它的其它物件(观察者)主动发送通知;
原型模式(Prototype)
用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象,一般用于性能优化;
代理模式(Proxy)
代理模式主要是为其它对象提供一种代理,以控制这个对象的访问;
代理模式的好处是对外部提供统一的接口方法,以便控制隔离使用者和目标类的直接联系;
单例模式(Singleton)
单例模式又称单元素模式,可以控制系统中只一个实例,从而节约系统资源;
策略模式(Strategy)
策略模式定义了一系列算法,把每一种算法独立封装起来,并在使用时可相互替换;