码迷,mamicode.com
首页 > 编程语言 > 详细

浅谈-Java设计模式之静态代理

时间:2016-04-18 11:45:37      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:

代理模式(Proxy pattern):当一个对象不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。静态代理是具体去实现需要代理对象接口,覆写方法时进行个性化操作。

单独为代理而实现作为某个接口实现类的则为静态代理(Static Proxy)。

不多说了,上代码?

package com.ant;

public interface Hello {

public void say();

}

package com.ant;

public class HelloImpl implements Hello {

@Override

public void say() {

System.out.println("hellw world!");

}

}

package com.ant;

 

public class StaticProxy implements Hello {

private Hello hello;

@Override

public void say() {

System.out.println("staticProxy welcome");

hello.say();

}

public StaticProxy(Hello hello){

this.hello = hello;

}

}

package com.ant;

 

public class StaticProxyTest {

public static void main(String[] args) {

Hello hello = new HelloImpl();

StaticProxy staticProxy = new StaticProxy(hello);

staticProxy.say();

}

}

总结:

静态代理有一个弊端,就是当接口中的方法进行了变更时(新增、删减必要实现方法时),所有的代理类都必须做相应的变更(假设有多个代理类情况下),无疑增加了代码复杂度,复用性低,这个时候就可以有动态代理。

浅谈-Java设计模式之静态代理

标签:

原文地址:http://www.cnblogs.com/ant-world/p/5403689.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!