随笔分类 - 设计模式
摘要:以下是学习过程中查询的资料,别人总结的资料,比较容易理解(站在各位巨人的肩膀上,望博主勿究) 创建型抽象工厂模式 http://www.cnblogs.com/java-my-life/archive/2012/03/28/2418836.html工厂方法 http://www.cnblogs.co
阅读全文
摘要:现实生活中的适配器 本文讨论适配器模式。适配器模式是23中设计模式之一,它的主要作用是在新接口和老接口之间进行适配。它非常像我们出国旅行时带的电源转换器。为了举这个例子,我还特意去京东上搜了一下电源转换器,确实看到了很多地方的标准不一样。我们国家的电器使用普通的扁平两项或三项插头,而去外国的话,使用
阅读全文
摘要:第一种(懒汉,线程不安全): Java代码 public class Singleton { private static Singleton instance; private Singleton (){} public static Singleton getInstance() { if (i
阅读全文
摘要:工厂方法模式(Factory Method Pattern)其定义:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 工厂方法模式的优点 1. 工厂方法模式可以降低模块间的耦合性,使用工厂方法模式创建一个对象,不再需要知道创建该对象的艰辛过程和必要信息,只
阅读全文
摘要:策略模式的定义: 策略模式(Strategy Pattern)也叫做政策模式(Policy Pattern)其定义:定义一组算法,将他们封装起来,使它们可以相互替换。 策略模式的优点: 1. 算法直接可以相互替换。这是因为策略都实现策略接口。 2. 可以避免多重条件的情况出现。假设一个策略家族有N个
阅读全文
摘要:门面模式的定义: 门面模式也叫做外观模式,是一种常见的封装模式,它的定义:要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。门面模式提供一个高层次的接口,使子系统更容易使用。 门面模式的优点: 1. 减少系统的相互依赖。调用者通过门面角色提供的接口访问子系统,这样只要门面角色提供的接口不
阅读全文
摘要:观察者模式也叫做发布订阅模式(Publish/Subscribe)其定义:定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并自动更新。 观察者模式的优点: 1. 观察者和被观察者之间是抽象耦合。增加观察者还是被观察者都非常容易实现,只需实现相应的接口。 2.
阅读全文
摘要:中介者模式(Mediator Pattern) 中介者模式定义: 中介者模式又叫做调停者模式,其定义为:用一个中介对象封装一系列对象的交互,中介者使各对象不需要显示地相互作用,从而使其耦合松散,而且可以独立的改变它们之间的交互。 中介者模式的优点: 中介者模式的优点是减少了类之间的依赖,使原有一对多
阅读全文
摘要:桥接模式(Bridge Pattern) 桥接模式的定义: 桥接模式也叫做桥梁模式,其定义:将抽象和实现解耦,使得两者可以独立地变化。 桥接模式的优点: 1. 抽象和实现分离。它基本上是为了解决继承的缺点而提出来的设计模式,在该模式下,实现可以不受抽象的约束。 2. 良好的扩展能力。无论是增加抽象还
阅读全文
摘要:使用这三种模式设计一个简单的计算器程序:计算器是用于计算数值之间进行数学计算后所获得的值。它包含基本的"加减"功能。以上对以上需求进行分析可以得出计算有两种策略(+与-)。 计算策略的实现: 此时还需要一个封装策略的对象,让策略可以互换: 为了避免策略模式必须要将具体的策略暴露给高层模块的缺点,我们
阅读全文