设计模式——责任链

责任链模式

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");
    }
}

猜你喜欢

转载自blog.csdn.net/zy52002520/article/details/79030910