责任链模式
public abstract class Handler { // // private Handler successor = new Smaller(); // // public Handler getSuccessor() { // return successor; // } // // public void setSuccessor(Handler successor) { // this.successor = successor; // } public static void main(String args[]) { Handler handler = new Smaller(); handler.HandlerProcess(); } public void HandlerProcess() { handleRefundRequset(30, 20); } public abstract void handleRefundRequset(int refundAmount, int receiveAmount); }
public class Smaller extends Handler { @Override public void handleRefundRequset(int refundAmount, int receiveAmount) { if (refundAmount < receiveAmount) { System.out.println("smaller handle process"); } else { new Equal().handleRefundRequset(refundAmount, receiveAmount); } } }
public class Equal extends Handler { @Override public void handleRefundRequset(int refundAmount, int receiveAmount) { if (refundAmount == receiveAmount) { System.out.println("equal handle process"); } else { new Bigger().handleRefundRequset(refundAmount, receiveAmount); } } }
public class Bigger extends Handler { @Override public void handleRefundRequset(int refundAmount, int receiveAmount) { System.out.println("bigger handle process"); } }