<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 閱讀(90) 評論(0)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 人妻无码中文字幕免费视频蜜桃| 久久久久亚洲AV无码专区首| 九九九精品成人免费视频| 18禁免费无码无遮挡不卡网站| 一二三四影视在线看片免费 | 亚洲色婷婷一区二区三区| 亚洲国产精品一区第二页| 91亚洲国产成人久久精品网站| 亚洲制服丝袜第一页| 男女男精品网站免费观看| 免费永久国产在线视频| 亚洲精品无码AV人在线播放| 亚洲乱妇熟女爽到高潮的片| 在线观看人成视频免费无遮挡 | 日韩精品无码一区二区三区免费| 成人福利免费视频| 国产成人亚洲精品| 白白国产永久免费视频| 亚洲av成人无码久久精品| 人妻丰满熟妇无码区免费| 色偷偷亚洲女人天堂观看欧| 大香人蕉免费视频75| 亚洲精品欧洲精品| 国产一级a毛一级a看免费人娇| 在线观看免费污视频| 国产亚洲综合一区二区三区| 最近免费中文字幕高清大全| 亚洲精品成人久久久| 亚洲av无码一区二区三区天堂古代| 亚洲视频免费在线看| 亚洲成aⅴ人片久青草影院| 亚洲区视频在线观看| 免费人成视频在线观看网站| 亚洲av无码一区二区三区观看| 国产精品免费看香蕉| 亚洲午夜无码久久久久小说| 亚洲精品在线免费观看视频| 亚洲欧美中文日韩视频| 人人狠狠综合久久亚洲88| 久久精品网站免费观看| 亚洲精品黄色视频在线观看免费资源 |