<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)

    隨筆分類

    隨筆檔案

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

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

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




    /**
     * 抽象化角色
     */
    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
        }
    }
    /**
     * 實(shí)現(xiàn)化角色
     */
    public abstract class Implementor {
        public abstract void operationImp();
    }
    /**
     * 具體實(shí)現(xiàn)化角色A
     */
    public class ConcreteImplementorA extends Implementor {
        public void operationImp() {
            System.out.println("Do something...");
        }
    }
    /**
     * 具體實(shí)現(xiàn)化角色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組合起來(lái)了
            abs.operation();
            abs.setImp(new ConcreteImplementorB());  //等于把RefinedAbstractionA和ConcreteImplementorB組合起來(lái)了
            abs.operation();
            
            //或者再換RefinedAbstractionB
            //...
        }
    }
    posted on 2008-02-01 16:20 EvanLiu 閱讀(859) 評(píng)論(0)  編輯  收藏 所屬分類: 設(shè)計(jì)模式

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 东北美女野外bbwbbw免费| 国产AV无码专区亚洲AV蜜芽| 亚洲国产精品一区二区第四页| 久久久久亚洲AV成人网人人软件 | 福利免费观看午夜体检区| 久久精品国产亚洲av四虎| 三级网站在线免费观看| 情人伊人久久综合亚洲| 亚洲码和欧洲码一码二码三码 | 久久精品国产亚洲77777| 久久免费线看线看| 又黄又爽一线毛片免费观看| 亚洲第一成年网站视频| 四虎影视在线永久免费看黄| 又硬又粗又长又爽免费看| 精品国产香蕉伊思人在线在线亚洲一区二区| 成人免费网站久久久| 中文字幕亚洲综合久久菠萝蜜| 亚洲欧美日韩一区二区三区| 日韩免费观看视频| 亚洲另类自拍丝袜第1页| 99精品视频在线观看免费| 国产亚洲美女精品久久久久狼| 亚洲精品无码专区| 亚洲高清无码专区视频| 国产综合免费精品久久久| 亚洲视频网站在线观看| 97无码免费人妻超级碰碰夜夜 | 2019亚洲午夜无码天堂| 91精品视频在线免费观看| 亚洲日韩精品一区二区三区| 免费人人潮人人爽一区二区| 成人免费a级毛片无码网站入口 | 久久久国产精品无码免费专区| 亚洲视频在线播放| 四虎影院免费在线播放| 成人无码区免费A∨直播| 亚洲一区在线免费观看| 亚洲乱码中文字幕综合234| 337P日本欧洲亚洲大胆精品| 亚洲精品中文字幕乱码三区 |