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

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

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

    隨筆 - 37  文章 - 29  trackbacks - 0


    常用鏈接

    留言簿(3)

    隨筆分類

    隨筆檔案

    最新評論

    閱讀排行榜

    評論排行榜

    7、BRIDGE—早上碰到MM,要說早上好,晚上碰到MM,要說晚上好;碰到MM穿了件新衣服,要說你的衣服好漂亮哦,碰到MM新做的發型,要說你的頭發好漂亮哦。不要問我“早上碰到MM新做了個發型怎么說”這種問題,自己用BRIDGE組合一下不就行了

    【GOF95】在提出橋梁模式的時候指出,橋梁模式的用意是"將抽象化(Abstraction)與實現化(Implementation)脫耦,使得二者可以獨立地變化"。這句話有三個關鍵詞,也就是抽象化、實現化和脫耦。




    /**
     * 抽象化角色
     */
    public abstract class Abstraction {
        protected Implementor imp;    
        public void setImp(Implementor imp) {
            this.imp = imp;
        }
        public void operation() {
            imp.operationImpl();
        }
    }
    /**
     * 修正抽象化角色A
     */
    public class RefinedAbstractionA extends Abstraction {
        public void operation() {
            //improved logic
        }
    }
    /**
     * 修正抽象化角色B
     */
    public class RefinedAbstractionB extends Abstraction {
        public void operation() {
            //improved logic
        }
    }
    /**
     * 實現化角色
     */
    public abstract class Implementor {
        public abstract void operationImp();
    }
    /**
     * 具體實現化角色A
     */
    public class ConcreteImplementorA extends Implementor {
        public void operationImp() {
            System.out.println("Do something...");
        }
    }
    /**
     * 具體實現化角色B
     */
    public class ConcreteImplementorB extends Implementor {
        public void operationImp() {
            System.out.println("Do another thing...");
        }
    }
    public class Client {
        public static void main(String[] args) {
            Abstraction abs = new RefinedAbstractionA();
            abs.setImp(new ConcreteImplementorA());  //等于把RefinedAbstractionA和ConcreteImplementorA組合起來了
            abs.operation();
            abs.setImp(new ConcreteImplementorB());  //等于把RefinedAbstractionA和ConcreteImplementorB組合起來了
            abs.operation();
            
            //或者再換RefinedAbstractionB
            //...
        }
    }
    posted on 2008-02-01 16:20 EvanLiu 閱讀(850) 評論(0)  編輯  收藏 所屬分類: 設計模式

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


    網站導航:
     
    主站蜘蛛池模板: 国产又黄又爽又大的免费视频| 风间由美在线亚洲一区| 两个人看的www高清免费视频 | 亚洲视频在线免费| 国产精品亚洲mnbav网站| 国产精品玖玖美女张开腿让男人桶爽免费看 | 在线播放国产不卡免费视频| 国产91在线免费| 日韩少妇内射免费播放| 国产亚洲美女精品久久久2020| 中文字幕在线免费观看视频| 亚洲AV无码一区二区二三区入口| 永久免费A∨片在线观看| 亚洲人成亚洲精品| 国产成人精品免费午夜app | 国产亚洲精品成人AA片新蒲金| 中国一级毛片免费看视频| 亚洲AV无码成人网站久久精品大| 1000部啪啪未满十八勿入免费| 亚洲综合中文字幕无线码| 免费国产在线观看| a级成人毛片免费视频高清| 亚洲精彩视频在线观看| 毛片基地免费观看| 性生大片视频免费观看一级| 亚洲AV午夜成人影院老师机影院 | 亚洲人成网站色在线入口| 91在线视频免费观看| 亚洲国产精品综合福利专区| 日本黄色免费观看| 久久国产免费直播| www.亚洲日本| 中文字幕一精品亚洲无线一区| 在线美女免费观看网站h| 亚洲av色香蕉一区二区三区| 久久久久亚洲av成人无码电影| 国产成人精品久久免费动漫 | 苍井空亚洲精品AA片在线播放 | 日韩免费在线视频| 亚洲熟妇AV一区二区三区宅男| 久久久亚洲精品蜜桃臀|