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

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

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

    隨筆-20  評論-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 閱讀(88) 評論(0)  編輯  收藏

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 免费亚洲视频在线观看| 亚洲狠狠成人综合网| 4hu四虎免费影院www| 亚洲电影日韩精品 | 免费无码国产V片在线观看| 中文字幕无码不卡免费视频| 亚洲区视频在线观看| 国产一卡二卡3卡四卡免费| 亚洲视频无码高清在线| 国内大片在线免费看| 国产AV无码专区亚洲AV蜜芽| 国产特级淫片免费看| 一级做a爰全过程免费视频毛片 | 国产高清免费在线| 免费播放美女一级毛片| 亚洲国产婷婷香蕉久久久久久| 二级毛片免费观看全程| 婷婷亚洲久悠悠色悠在线播放| 人妻丰满熟妇无码区免费| caoporn成人免费公开| 久久亚洲中文字幕精品一区| 国产羞羞的视频在线观看免费| 亚洲网站视频在线观看| 无码少妇一区二区浪潮免费 | 成年网在线观看免费观看网址| 国产亚洲人成网站在线观看| 免费A级毛片无码视频| 亚洲免费黄色网址| 免费人成在线观看网站品爱网日本| 成在人线av无码免费高潮水| 亚洲国产美国国产综合一区二区| 国产免费不卡v片在线观看| 综合偷自拍亚洲乱中文字幕| 亚洲精品成人无码中文毛片不卡| 国产精品国产亚洲区艳妇糸列短篇| 亚洲国产综合久久天堂| 99久久综合精品免费| 亚洲精品无码少妇30P| 亚洲精品V欧洲精品V日韩精品| 久久精品免费全国观看国产| 狠狠热精品免费观看|