
设计模式
文章平均质量分 87
dominic_2009
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java与模式之模板方法(Template Method)模式
模板方法模式是类的行为模式。准备一个抽象类,将部分逻辑以具体方法以及具体构造子的形式实现,然后声明一些抽象的方法迫使子类实现剩余的逻辑。不同的子类可以有不同的实现,这是模板方法的用意。而我认为其精髓在于在抽象类中定义的模板方法,此方法为抽象类中其他方法的一个有序的汇总。 模板方法模式的静态结构如下图所示: 这里涉及到2个角色: 抽象模板角...原创 2012-10-24 08:07:51 · 132 阅读 · 0 评论 -
Java与模式之观察者(Observer)模式
观察者模式是对象的行为模式,又叫发布-订阅模式、模型-视图模式、源-监听器模式或从属者模式。观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动的更新自己。 可以看出,在这个观察者模式的实现里有下面这些角色: 抽象主题(Subject)角色:主题角色把所有观察者对象的引用保...原创 2012-10-26 09:07:58 · 91 阅读 · 0 评论 -
Java与模式之适配器(Adapter)模式
适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。 类的适配器模式 在上图可以看出,Adaptee类并没有sampleOperatin2()方法,而客户端期待这个方法。为了使客户端能够使用Adaptee类,提供一个中间环节,即类Adapter,把Adaptee的API与Target类的A...原创 2012-10-31 08:43:13 · 157 阅读 · 0 评论 -
Java与模式之代理(Proxy)模式
代理模式是对象的结构模式。代理模式给某一个对象提供一个代理对象,并由代理对象控制原对象的引用。 代理模式的示意性实现类图如下 抽象主题角色:声明了真实主题与代理主题的共同接口,这样在可以使用真实主题的地方都可以使用代理主题。 代理主题角色:包含了一个对真实主题角色的引用,从而可以在任何时候操作真实主题角色。 代理模式的时序图如下 代理模式是怎样工作的: 代理主题并不...原创 2013-03-21 08:32:59 · 126 阅读 · 0 评论 -
Java与模式之装饰(Decorator)模式
装饰模式又名包装模式。装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。 装饰模式以对客户透明的方式动态地给一个对象附加上更多的责任。换言之,客户端并不会觉得对象在装饰前和装饰后有什么不同。装饰模式使用原来被装饰的类的一个子类的实例,把客户端的调用委派到被装饰类。关键在于这种扩展是完全透明的。 模式的类图如下: 在装饰模式中...原创 2012-11-14 08:40:43 · 131 阅读 · 0 评论 -
Java与模式之单例(Singleton)模式
单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 饿汉式单例类 public class EagerSingleton { private static final EagerSingleton m_instance = new EagerSingleton(); /** * 私有的默认构造子 ...原创 2012-11-19 08:24:39 · 120 阅读 · 0 评论