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

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

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

    隨筆-20  評(píng)論-2  文章-0  trackbacks-0

    [關(guān)鍵字]:java,design pattern,設(shè)計(jì)模式,《Java與模式》,Chain of Responsibility,責(zé)任鏈模式
    [環(huán)境]:StarUML5.0 + JDK6
    [作者]:Winty (wintys@gmail.com)
    [正文]:

    package pattern.chainofresponsibility;

    /**
     * 責(zé)任鏈模式:Chain of Responsibility
     * @version 2009-5-9
     * @author Winty(wintys@gmail.com)
     */
    public class ChainOfResponsibilityTest{
        public static void main(String[] args){
            Handler handler1 = new ConcreteHandler1();
            Handler handler2 = new ConcreteHandler2();
            Handler handler3 = new ConcreteHandler3();

            //設(shè)置責(zé)任鏈
            handler3.setSuccessor(handler2);
            handler2.setSuccessor(handler1);

            //發(fā)送命令
            handler3.handleRequest();
        }
    }

    /**
     *抽象處理者
     */
    abstract class Handler{
        protected Handler successor;

        public Handler getSuccessor(){
            return successor;
        }

        public void setSuccessor(Handler successor){
            this.successor = successor;
        }

        public abstract void handleRequest();
    }

    /**
     *具體處理者
     */
    class ConcreteHandler1 extends Handler{
        public void handleRequest(){
            if(getSuccessor() != null){
                System.out.print("Request passed:from class Concrete1");
                System.out.println(" to class" + getSuccessor().getClass().getName());

                getSuccessor().handleRequest();
            }
            else{
                System.out.println("Request handled in ConcreteHandler1");
            }
        }
    }

    /**
     *具體處理者
     */
    class ConcreteHandler2  extends Handler{
        public void handleRequest(){
            if(getSuccessor() != null){
                System.out.print("Request passed:from class Concrete2");
                System.out.println(" to class " + getSuccessor().getClass().getName());

                getSuccessor().handleRequest();
            }
            else{
                System.out.println("Request handled in ConcreteHandler2");
            }
        }
    }

    /**
     *具體處理者
     */
    class ConcreteHandler3  extends Handler{
        public void handleRequest(){
            if(getSuccessor() != null){
                System.out.print("Request passed:from class Concrete3");
                System.out.println(" to class " + getSuccessor().getClass().getName());

                getSuccessor().handleRequest();
            }
            else{
                System.out.println("Request handled in ConcreteHandler3");
            }
        }
    }

    文章來源:http://blog.163.com/ccbobo_cat/blog/static/320994622009410264843
    posted on 2009-05-10 14:07 C.B.K 閱讀(90) 評(píng)論(0)  編輯  收藏

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲免费在线视频| 午夜免费福利影院| 亚洲人JIZZ日本人| 国产精品无码免费专区午夜 | 亚洲日韩乱码中文字幕| 亚洲大片免费观看| 亚洲综合免费视频| 男男AV纯肉无码免费播放无码| 亚洲国产精品xo在线观看| 成人免费无码视频在线网站| 亚洲成_人网站图片| 在线免费观看毛片网站| 另类小说亚洲色图| 国产aⅴ无码专区亚洲av麻豆| 皇色在线免费视频| 亚洲AV无码一区二区乱子伦| 一级毛片免费观看不卡视频| 亚洲人成人77777网站不卡| 在线免费观看污网站| 特黄特色的大片观看免费视频| 久久久久亚洲AV综合波多野结衣 | 久久亚洲av无码精品浪潮| 久久久久久久99精品免费观看| 久久99亚洲网美利坚合众国| 欧美最猛性xxxxx免费| 美美女高清毛片视频黄的一免费 | 亚洲Av无码乱码在线观看性色| 成全视成人免费观看在线看| 911精品国产亚洲日本美国韩国 | 午夜在线免费视频| 久久久亚洲精品视频| 好男人www免费高清视频在线| 免费VA在线观看无码| 久久久久久亚洲精品中文字幕| 青娱乐免费在线视频| 日本在线观看免费高清| 亚洲精品91在线| 亚洲精品尤物yw在线影院| 色欲色香天天天综合网站免费| 亚洲精品GV天堂无码男同| 亚洲国产精品无码中文字|