代码大全

代码设计、设计模式、重构、优化

  1. 链式处理

    继承、抽象类、父类
    继承可以实现代码的复用,把相同的代码放到父类,用protected修饰,子类中可以通过super调用,
    父类的方法中,又可以通过this调当前子类的方法,所以,共有的部分放到父类中,差异部分放到
    子类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

/**项目中完成一个操作需要经过一些列的处理*/
public abstract class AbstractHandler {
    public static AbstractHandler startHandler = new Handler1();
    private AbstractHandler nextHandler;

    static {
        startHandler.setNextHandler(new Handler2())
                .setNextHandler(new Handler3());
    }

    private AbstractHandler setNextHandler(AbstractHandler handler){
        this.nextHandler = handler;
        return this.nextHandler;
    }

    protected void commonLog(){
        System.out.println(this.getClass().getName());
    }

    protected void handle(){
        if(this.nextHandler != null){
            this.nextHandler.handle();
        }
    }
}


public class Handler1 extends AbstractHandler {
    @Override
    protected void handle() {
        if(true){
            System.out.println("handle1");
            super.commonLog();
        }
        super.handle();
    }
}