離弦之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的技術天空 閱讀(173) 評論(0)  編輯  收藏 所屬分類: Design Pattern
          主站蜘蛛池模板: 天长市| 临朐县| 时尚| 馆陶县| 山丹县| 开封县| 泾川县| 汉阴县| 盐源县| 获嘉县| 饶平县| 大庆市| 阿巴嘎旗| 汉阴县| 柘城县| 南开区| 邹城市| 嘉义市| 界首市| 贵港市| 平谷区| 徐汇区| 仁怀市| 疏勒县| 青冈县| 池州市| 广丰县| 五指山市| 武鸣县| 名山县| 吉首市| 仁化县| 寻乌县| 玉环县| 延寿县| 阜平县| 丹巴县| 三明市| 黎城县| 马山县| 大连市|