離弦之Ray

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            55 Posts :: 0 Stories :: 33 Comments :: 0 Trackbacks

           

          Singleton Pattern

          針對一些在應用中只會有一個對象存在的類而總結的模式。

          令人意想不到的是,它是通過聲明該類的構造函數(shù)為私有這種方法來實現(xiàn)的。

          疑問就是,既然構造函數(shù)都成私有了,那怎么來創(chuàng)建這個類的對象呢?

          解答就是通過在類中聲明一個靜態(tài)方法,返回這個對象。

          典型的寫法是

          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

          怎么來解釋呢?說白了,就是把調(diào)用類要達成的操作封裝成一個Command對象,就像點菜那張單子一樣,當然這個Command要符合一定的規(guī)則實現(xiàn)Command接口,里面非常重要的一個方法就是execute

          setCommand方法相當于waitress把菜單遞給了廚師,在接收者方面他只管運行execute,具體做什么傳過來的command對象都已經(jīng)設定好了。

          Adapter & Façade

          適配器模式其實沒什么多說的,就是要把傳過去的對象要實現(xiàn)接收者支持的格式,那個格式實際上就是一個接口。

          Façade模式是一種衍生物,它的目的是讓操作簡單化。將一系列不同對象中的操作整合,提供給其它類調(diào)用接口書上的例子是家庭影院,要看部電影,要開這個電器,開那個電器,通過Façade模式,將要看電影所必須的動作整合起來,一鍵搞定。明白了這點,也就理解了這個模式。

          posted on 2007-09-18 15:48 離弦之ray的技術天空 閱讀(178) 評論(0)  編輯  收藏 所屬分類: Design Pattern
          主站蜘蛛池模板: 扶风县| 漳浦县| 巴青县| 韶关市| 泸定县| 确山县| 祁连县| 呼伦贝尔市| 喀什市| 周宁县| 达拉特旗| 东光县| 遂溪县| 水富县| 沙湾县| 安远县| 繁峙县| 嘉峪关市| 石棉县| 湘潭市| 乌拉特后旗| 兴文县| 古田县| 白朗县| 明溪县| 苗栗县| 江山市| 华阴市| 渭南市| 磴口县| 丹棱县| 广平县| 宁德市| 微山县| 西昌市| 都匀市| 凤山市| 福海县| 武威市| 文山县| 河源市|