<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新做的發(fā)型,要說你的頭發(fā)好漂亮哦。不要問我“早上碰到MM新做了個發(fā)型怎么說”這種問題,自己用BRIDGE組合一下不就行了

    【GOF95】在提出橋梁模式的時候指出,橋梁模式的用意是"將抽象化(Abstraction)與實(shí)現(xiàn)化(Implementation)脫耦,使得二者可以獨(dú)立地變化"。這句話有三個關(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組合起來了
            abs.operation();
            abs.setImp(new ConcreteImplementorB());  //等于把RefinedAbstractionA和ConcreteImplementorB組合起來了
            abs.operation();
            
            //或者再換RefinedAbstractionB
            //...
        }
    }
    posted on 2008-02-01 16:20 EvanLiu 閱讀(850) 評論(0)  編輯  收藏 所屬分類: 設(shè)計(jì)模式

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 成年女人毛片免费播放人| 免费91最新地址永久入口| 日韩免费a级毛片无码a∨| 免费看黄网站在线看| 四虎www成人影院免费观看| 亚洲精品无码专区在线| 免费观看a级毛片| 羞羞网站在线免费观看| 四虎影视免费永久在线观看| 日本系列1页亚洲系列| 亚洲а∨天堂久久精品| 日韩在线观看视频免费| 伊人久久精品亚洲午夜| 大地资源网高清在线观看免费 | 三级网站在线免费观看| 一本色道久久综合亚洲精品高清| 国产午夜亚洲精品理论片不卡 | 亚洲va无码专区国产乱码| a级男女仿爱免费视频| 亚洲Av无码精品色午夜 | 九九免费精品视频在这里| 夜夜春亚洲嫩草影院| 91免费国产视频| 亚洲一级二级三级不卡| 美女视频黄的全免费视频| 亚洲s码欧洲m码吹潮| 久久亚洲国产成人影院网站| 日本在线看片免费| 亚洲天堂2016| 哒哒哒免费视频观看在线www| 亚洲高清不卡视频| www.999精品视频观看免费| 美女羞羞喷液视频免费| 亚洲av日韩av不卡在线观看| 最新中文字幕免费视频| 一级黄色免费网站| 亚洲日韩国产精品无码av| 免费中文字幕在线观看| 最好看最新的中文字幕免费 | 亚洲av永久无码精品国产精品| 香蕉97碰碰视频免费|