<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Sealyu

    --- 博客已遷移至: http://www.sealyu.com/blog

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      618 隨筆 :: 87 文章 :: 225 評論 :: 0 Trackbacks
    1.裝飾模式(Decorator):
    裝飾模式(Decorator)也叫包裝器模式(Wrapper)。GOF在《設計模式》一書中給出的定義為:動態地給一個對象添加一些額外的職責。就增加功能來說,Decorator模式相比生成子類更為靈活。
    裝飾模式的組成:

    1)        抽象構件角色(Component):定義一個抽象接口,以規范準備接收附加責任的對象。

    2)        具體構件角色(Concrete Component):這是被裝飾者,定義一個將要被裝飾增加功能的類。

    3)        裝飾角色(Decorator):持有一個構件對象的實例,并定義了抽象構件定義的接口。

    4)        具體裝飾角色(Concrete Decorator):負責給構件添加增加的功能。

    JAVAIO流的設計就大量運用了裝飾模式。看看我們熟悉的代碼:


    裝飾模式的特點;
    (1) 裝飾對象和真實對象有相同的接口。這樣客戶端對象就可以以和真實對象相同的方式和裝飾對象交互。
    (2) 裝飾對象包含一個真實對象的索引(reference)
    (3) 裝飾對象接受所有的來自客戶端的請求。它把這些請求轉發給真實的對象。
    (4) 裝飾對象可以在轉發這些請求以前或以后增加一些附加功能。這樣就確保了在運行時,不用修改給定對象的結構就可以在外部增加附加的功能。在面向對象的設計中,通常是通過繼續來實現對給定類的功能擴展。


    BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("..")));

    層層包裝,增強功能。這就是裝飾模式的要旨。


    posted on 2009-12-23 14:15 seal 閱讀(241) 評論(0)  編輯  收藏 所屬分類: 設計模式
    主站蜘蛛池模板: 亚洲AV永久精品爱情岛论坛| 国产成人亚洲影院在线观看| 国产一级淫片a视频免费观看| 免费永久看黄在线观看app| 亚洲精品国产日韩无码AV永久免费网 | 亚欧免费无码aⅴ在线观看| 120秒男女动态视频免费| 免费一本色道久久一区| 亚洲av日韩片在线观看| 亚洲AV永久精品爱情岛论坛| 亚洲国产美女福利直播秀一区二区| 亚洲熟妇av午夜无码不卡| 午夜免费国产体验区免费的| 久久这里只精品国产免费10| 青青青免费国产在线视频小草| 国产人妖ts在线观看免费视频| 亚洲精品高清无码视频| 亚洲一区免费在线观看| 丁香六月婷婷精品免费观看| 99久久久国产精品免费蜜臀| 在线免费观看一级毛片| 亚洲一区爱区精品无码| 久久久久se色偷偷亚洲精品av | 亚洲av无码专区在线电影天堂| 久久99精品免费一区二区| 免费观看无遮挡www的小视频| 免费中文字幕一级毛片| 久久久久亚洲AV片无码下载蜜桃| 亚洲精品无码av中文字幕| 男人天堂免费视频| 在线免费观看色片| 久久亚洲国产成人亚| 亚洲爆乳精品无码一区二区| 日本一区二区免费看| 国产免费av一区二区三区| 亚洲人成在线影院| 一级毛片免费在线观看网站| 99久久久国产精品免费无卡顿| 亚洲一级特黄大片在线观看| 亚洲男人的天堂久久精品| 中文字幕av免费专区|