<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ## 1. 什么是責任鏈設計模式 ## 2. 如何使用責任鏈設計模式 ## 3. 代碼 public abstract class AbstractRequest { private Object object; public AbstractRequest(Object object) { this.object=object; } /** * 具體的內容對象 * @return */ public Object getContent() { return object; } /** * 獲取請求級別 */ public abstract int getRequestLevel(); } public class Client { public static void main(String[] args) { Handler handler1=new Hander1(); Handler handler2=new Handler2(); Handler handler3=new Handler3(); handler1.nextHandler=handler2; handler2.nextHandler=handler3; AbstractRequest request3=new Request2("請求1"); AbstractRequest request4=new Request3("請求2"); handler1.handleRequest(request3); handler2.handleRequest(request4); } } public class Hander1 extends Handler { @Override public void handle(AbstractRequest abstractRequest) { System.out.println("----handle1 處理請求: "+abstractRequest.getRequestLevel()); } @Override public int getHandleLevel() { return 1; } } public abstract class Handler { public Handler nextHandler; public void handleRequest(AbstractRequest abstractRequest) { if (getHandleLevel() == abstractRequest.getRequestLevel()) { handle(abstractRequest); } else { if (nextHandler != null) { nextHandler.handleRequest(abstractRequest); } else { System.out.println("----> 所有的處理對象都不能處理它"); } } } /** * 每個處理者的對象的具體處理方式 * @param abstractRequest */ public abstract void handle(AbstractRequest abstractRequest); /** * 每個處著對象處理的級別 * @return */ public abstract int getHandleLevel(); } public class Handler2 extends Handler { @Override public void handle(AbstractRequest abstractRequest) { System.out.println("----handle2 處理請求: "+abstractRequest.getRequestLevel()); } @Override public int getHandleLevel() { return 2; } } public class Handler3 extends Handler{ @Override public void handle(AbstractRequest abstractRequest) { System.out.println("----handle3 處理請求: "+abstractRequest.getRequestLevel()); } @Override public int getHandleLevel() { return 3; } } public class Request1 extends AbstractRequest { public Request1(Object object) { super(object); } @Override public int getRequestLevel() { return 1; } } public class Request2 extends AbstractRequest { public Request2(Object object) { super(object); } @Override public int getRequestLevel() { return 2; } } public class Request3 extends AbstractRequest { public Request3(Object object) { super(object); } @Override public int getRequestLevel() { return 3; } }
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看