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

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

           

          裝飾模式—Decorator

          裝飾模式有名包裝模式,裝飾模式以對客戶端透明的方式來擴展對象的功能,是繼承關(guān)系的一個替代的方案。

          客戶端并不會覺得裝飾模式在裝飾前和裝飾后有什么不同,他可以在不使用更多的子類的情況下來進行對對象的功能加以擴展。結(jié)構(gòu)圖如下:

          裝飾模式原來被裝飾類的一個子類的實例,把客戶端的調(diào)用委派到被裝飾類。他有以下組成:抽象構(gòu)件,具體構(gòu)件,裝飾角色,具體裝飾;他一般在下面這些情況使用他最好:

          1、  需要擴展一個類的功能,或給一個類增加附加責任。

          2、  需要動態(tài)的給一個對象增加功能,這些功能可能被動態(tài)的撤消。

          3、  需要增加一些基本功能的排例組合而產(chǎn)生的非常大量的功能,從而使繼承關(guān)系變得不現(xiàn)實。

          優(yōu)點:他可以靈活的增加一個類或?qū)ο蟮墓δ埽部梢酝ㄟ^不同的具體裝飾類的排例組合設計出更加復雜的,功能更強的類。

          缺點:他雖然增加了一個類的靈活性,但同時他也給一個類的管理帶來了復雜性。
          posted on 2005-08-03 00:00 sky 閱讀(211) 評論(0)  編輯  收藏

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


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 七台河市| 淮滨县| 涿州市| 慈溪市| 普定县| 涞水县| 黔江区| 长垣县| 南华县| 胶州市| 岑巩县| 都兰县| 朝阳区| 信阳市| 万源市| 阿勒泰市| 大城县| 二连浩特市| 湘潭市| 崇左市| 万源市| 崇州市| 祁门县| 新泰市| 蓬莱市| 石楼县| 重庆市| 清远市| 东阳市| 疏勒县| 竹山县| 南通市| 黄平县| 游戏| 卫辉市| 丹棱县| 海晏县| 洪洞县| 建阳市| 获嘉县| 淅川县|