<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 閱讀(859) 評論(0)  編輯  收藏 所屬分類: 設計模式

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


    網站導航:
     
    主站蜘蛛池模板: 久久久久久久久久久免费精品| 亚洲一区在线免费观看| 老司机午夜性生免费福利| 最新免费jlzzjlzz在线播放| 亚洲精品网站在线观看你懂的 | 亚洲最大无码中文字幕| 国产免费毛不卡片| 色偷偷女男人的天堂亚洲网| 美女视频黄免费亚洲| 亚洲成a人片在线观看精品| 免费影院未满十八勿进网站| 美女视频黄免费亚洲| 午夜免费不卡毛片完整版| 亚洲av无码成人影院一区| 青青青国产色视频在线观看国产亚洲欧洲国产综合 | 青青视频观看免费99| 亚洲国产精品一区二区三区在线观看| 波多野结衣免费在线| 亚洲日韩AV一区二区三区四区| 午夜网站免费版在线观看| 337P日本欧洲亚洲大胆精品 | 国产女高清在线看免费观看| 羞羞漫画在线成人漫画阅读免费| 国产成人免费福利网站| 一个人晚上在线观看的免费视频 | 91免费资源网站入口| 亚洲国产欧洲综合997久久| 亚洲国产精品毛片av不卡在线 | 亚洲视频在线观看免费| 亚洲男人天堂2022| 亚洲AⅤ无码一区二区三区在线| 国产福利在线观看永久免费| 亚洲国语精品自产拍在线观看| 国产91免费在线观看| 国产成人高清亚洲一区久久 | 日韩精品无码免费一区二区三区| 亚洲人配人种jizz| 亚洲午夜福利精品久久| 亚洲电影在线免费观看| 国产成人亚洲午夜电影| 亚洲综合一区二区精品导航|