java之静态代理,
分享于 点击 14820 次 点评:2
java之静态代理,
接口类
package proxy;
public interface People {
public void study();
}
代理类和被代理类
package proxy;
/**
* 被代理的类
* @author lenovo
*
*/
public class Student implements People{
@Override
public void study(){
System.out.println("学习");
}
//测试静态代理
public static void main(String[] args) {
Student st = new Student();
new StaticProxy(st).study();
}
//运行结果
/**
* doSomething before..
学习
doSomething after..
*/
}
/**
* 静态代理类
* @author lenovo
*
*/
class StaticProxy implements People{
private Student student;
public StaticProxy(Student student) {
super();
this.student = student;
}
@Override
public void study() {
doSomethingBefore();
this.student.study();
doSomethingAfter();
}
private void doSomethingBefore(){
System.out.println("doSomething before..");
}
private void doSomethingAfter(){
System.out.println("doSomething after..");
}
}
总结:
静态代理的好处:
1)客户端和被代理对象之间的桥梁。
2)无侵入增强业务代码,解耦利器。
3)增强点多样化(业务前、后、异常)。
静态代理的局限:
1)扩展能力差,横向扩展、纵向扩展。
2)可维护差
实现:
代理类必须包含被代理类且代理类和被代理类同时实现一个接口。
相关文章
- 暂无相关文章
用户点评