离弦之Ray

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  55 Posts :: 0 Stories :: 33 Comments :: 0 Trackbacks

 

Singleton Pattern

针对一些在应用中只会有一个对象存在的类而总结的模式。

令人意想不到的是,它是通过声明该类的构造函数为私有这种方法来实现的。

疑问就是,既然构造函数都成私有了,那怎么来创建这个类的对象呢?

解答就是通过在类中声明一个静态方法,返回这个对象。

典型的写法是

public static Singleton getInstance(){

 if(uniqueInstance==null){uniqueInstance = new Singleton();}

return uniqueInstance;

}

这个模式的精髓就这么简单,剩下的就是线程对对象的操作安全,要把这个方法加上synchronized关键字。

Command Pattern

书中是以餐馆点菜作比来讲述这个模式的。

其中的对比概念如下

Customer-------Client

Order------------Command

Waitress--------Invoker

Cook------------Receiver

Take order--------setCommand

orderUp-----------excute

怎么来解释呢?说白了,就是把调用类要达成的操作封装成一个Command对象,就像点菜那张单子一样,当然这个Command要符合一定的规则实现Command接口,里面非常重要的一个方法就是execute

setCommand方法相当于waitress把菜单递给了厨师,在接收者方面他只管运行execute,具体做什么传过来的command对象都已经设定好了。

Adapter & Façade

适配器模式其实没什么多说的,就是要把传过去的对象要实现接收者支持的格式,那个格式实际上就是一个接口。

Façade模式是一种衍生物,它的目的是让操作简单化。将一系列不同对象中的操作整合,提供给其它类调用接口书上的例子是家庭影院,要看部电影,要开这个电器,开那个电器,通过Façade模式,将要看电影所必须的动作整合起来,一键搞定。明白了这点,也就理解了这个模式。

posted on 2007-09-18 15:48 离弦之ray的技术天空 阅读(162) 评论(0)  编辑  收藏 所属分类: Design Pattern

只有注册用户登录后才能发表评论。


网站导航: