<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

    [關鍵字]:java,design pattern,設計模式,《Java與模式》,Chain of Responsibility,責任鏈模式
    [環境]:StarUML5.0 + JDK6
    [作者]:Winty (wintys@gmail.com)
    [正文]:

    package pattern.chainofresponsibility;

    /**
     * 責任鏈模式: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();

            //設置責任鏈
            handler3.setSuccessor(handler2);
            handler2.setSuccessor(handler1);

            //發送命令
            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)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 精品久久久久久久免费人妻| 足恋玩丝袜脚视频免费网站| 免费a级毛片在线观看| 亚洲一欧洲中文字幕在线| 又大又硬又爽又粗又快的视频免费| 国产成人亚洲综合色影视| 福利免费在线观看| 中文字幕亚洲图片| 人妻在线日韩免费视频| 亚洲伊人久久大香线蕉苏妲己| 99re免费视频| 亚洲人成电影网站| 四虎www成人影院免费观看| 亚洲AV日韩AV永久无码色欲| 午夜国产大片免费观看| 久久精品成人免费观看97| 亚洲狠狠综合久久| 成人免费午夜无码视频| 亚洲成a人片在线观看天堂无码| 四虎成人精品在永久免费| 一级毛片免费在线| 亚洲精品人成在线观看| 无码国产精品一区二区免费虚拟VR | 亚洲色欲色欲www在线丝| 午夜网站在线观看免费完整高清观看 | 色视频在线观看免费| 亚洲精品无码专区2| 无码人妻一区二区三区免费n鬼沢| 666精品国产精品亚洲 | 84pao国产成视频免费播放| 二级毛片免费观看全程| 亚洲午夜未满十八勿入网站2| 99久热只有精品视频免费看| 色婷五月综激情亚洲综合 | 国产中文在线亚洲精品官网| 无码国产精品一区二区免费vr| 亚洲最大成人网色香蕉| 亚洲精品一级无码鲁丝片| 曰批全过程免费视频播放网站 | 亚洲狠狠狠一区二区三区| 日韩免费福利视频|