首先定义一个接口:
public interface IWork {
public abstract void dowork();
}
它的一个实现:
public class MyWorkImpl implements IWork {
public void dowork() {
System.out.println("implement work");
}
}
我用代理的概念:不知道理解的正确不?
public class MyWorkProxy {
public void dowork(IWork iwork) {
iwork.dowork();
}
}
我用监听器的概念:不知道理解的正确不?
public class MyWorkListener {
IWork iwork;
public void setWorkListener(IWork iwork) {
this.iwork = iwork;
}
public void dowork() {
iwork.dowork();
}
}
最后的测试:
public class Main {
public static void main(String[] args) {
MyWorkImpl impl = new MyWorkImpl();
impl.dowork();
MyWorkListener inf = new MyWorkListener();
inf.setWorkListener(impl);
inf.dowork();
MyWorkProxy proxy = new MyWorkProxy();
proxy.dowork(impl);
}
}
当然,结果是这样的:
implement work
implement work
implement work
有什么差距?
主要是我理解的代理以及监听器的概念,难道这么撮?看不出来什么分别,有什么优缺点,或许概念都错了?