java设计模式之代理模式

最近在重新学习java,学到了java的设计模式的代理模式.

代理模式分为静态代理和动态代理

下面是我的学习心得:

静态代理:实现了一遍静态代理后,总的来说就是,代理类和被代理类实现了同一个接口,属于相同的类型,拥有相同的方法,代理类持有被代理类的引用,在代理类的方法里调用被代理类的方法就是静态代理的原理.

代码展示

public interface ZuFang {
    
    public void zf();

}
public class PeopleZF implements ZuFang {

    @Override
    public void zf() {
        System.out.println("租房子");
    }

}
public class ZFProxy implements ZuFang {

    private ZuFang zfz;

    public ZFProxy() {
        super();
        this.zfz = new PeopleZF();
    }

    @Override
    public void zf() {
        before();
        zfz.zf();
        atfer();
    }

    private void before() {
        System.out.println("开始租房");

    }

    private void atfer() {
        System.out.println("租房结束");
    }

    

}
public class RopxyFactory {
    
    public static ZuFang getZuFang(){
        return new ZFProxy();
    }

}
public class Test001 {
    @Test
    public void test1() {    
        ZuFang zuFang = RopxyFactory.getZuFang();
        zuFang.zf();
    }

    /**
     * 静态代理: 代理类和被代理类都实现头一个接口,这样 两个类都有头一个方法. 在代理类中加入被代理类的对象. 代用代理类的方法中调用被代理类的方法.
     * 这样就到达了调用被代理类的方法,同事调用代理类的效果,而且可以在被代理类的方法调用前后加入一些其他的方法.
     * 
     */
}

动态代理

分析:动态代理要实现

 

posted @ 2015-10-29 17:21  宋发准  阅读(151)  评论(0)    收藏  举报