隨筆-19  評論-2  文章-1  trackbacks-0

          <java與模式> ---電子書

          17  page245 多例模式

           

           

                 當實例數目不多是時候,可以用一個個的靜態變量來存儲一個個的實例,在數目多是時候需要使用靜態聚集存儲方式來存儲這些實例。

           

          問題:怎樣用靜態聚集存儲方式來存儲?具體如何實現?

           

           

          建造模式(builder

           

           

          建造模式(builderpage277

          建造模式可以將一個產品的內部表象與產品的生成過程分割開來,從而可以使一個建造過程生成具有不同的內部表象的產品對象

          內部表象—一個產品有不同的組成成分作為產品的零件,這些零件有可以是對象,也有可能不是對象,它們通常又叫做產品的內部表象。

          抽象建造者角色:給出一個抽象內部接口,以規范產品對象的各個組成成分的建造,一般而言,該接口獨立于應用程序的商業邏輯。

          具體建造者角色:擔任這個角色的是與應用程序緊密相關的一些類,他們在應用程序調用下創建產品的實例。他的任務:1、實現抽象建造者所有申明的接口,給出一步一步的完成創建產品實例的操作。2、在創建過程完成后,提供產品的實例。

          導演者:擔任這個角色的類調用具體建造者角色以創建產品對象。

          產品角色:產品是焦躁中的復雜對象。

           

          下面是一個由兩個產品類構成的建造模式結構圖: 


          20 原始原型模式

           

          用意:原始模型模式屬于對象的創建模式;通過給出一個原形對象來指明所要創建的對象類型,然后用復制這個原型對象的辦法創建出更多類型的對象。

           

          問題:什么叫不變對象? page314

           

          簡單形式的原始模型模式:

          客戶角色:客戶類提出創建對象的請求;

          抽象原型角色:這是一個抽象角色,通常由一個java接口或java抽象實現,此角色給出所有的具體原型類所需要的接口;

          具體原型角色:被復制的對象,此角色需要實現抽象的原型角色所要求的接口。

          結構圖如下:

           


           

          登記式原型模型模式:

          增加了一個原型管理器角色:創建具體原型類的對象,并記錄每一個被創建的對象。

          結構圖如下:

          抽象原型

          具體原型

          客戶

          原型管理器

           

           

           

           

          posted on 2005-07-30 21:02 sky 閱讀(171) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 青冈县| 漳州市| 松江区| 金坛市| 禄丰县| 台前县| 浙江省| 双桥区| 溧阳市| 巴东县| 手游| 绍兴县| 广元市| 普兰县| 永康市| 洞头县| 临安市| 湖南省| 长宁县| 大余县| 尉氏县| 陈巴尔虎旗| 无极县| 策勒县| 双流县| 庄河市| 霍林郭勒市| 武强县| 五台县| 水富县| 文山县| 沽源县| 武鸣县| 武安市| 班戈县| 西和县| 绍兴县| 上虞市| 新乡县| 昌都县| 嘉义市|