您的位置  > 互联网

java.util.解释器.迭代器模式.#

静态代理:在程序运行之前就存在的编译好的代理类。 实施步骤:

1. 定义业务接口。

2.实现业务接口。

3、定义代理类并实现业务接口,最后通过客户端调用。

动态代理:在程序运行过程中根据需要动态创建代理类及其实例,完成功能

public class CodingServiceProxy implements CodingService{
   
    private CodingService codingService;
    public CodingServiceProxy(CodingService codingService){
   
        this.codingService = codingService;
    }
    @Override
    public String debug(String name) {
   
        System.out.println("预处理...");
        String result = codingService.debug(name);
        System.out.println(result);
        System.out.println("后处理...");
        return result;
    }

代码重构 - 尝试使每个方法都可以针对大量 if/else 进行单元测试

private static Map methodsMap = new HashMap<>();
//首先取出状态码,然后根据状态码获得相应的要调用方法的方法名,然后使用java的反射机制就可以实现对应方法的调用了。
static {
   
    // value 是属性CountRecoder的方法名
    methodsMap.put(1, "setCountOfFirstStage");
    methodsMap.put(2, "setCountOfSecondStage"