`
chenhua_1984
  • 浏览: 1234648 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

java 代理模式detegate

阅读更多

       我对代理模式的理解是:一个人本该他去做的事情,他由于一些原因不想做,他把他交给别人去做这件事情。比如现在的项目老大都把比较繁琐但又没什么技术含量的东西交给小弟做一样!小弟就是代理者。

       下面是一个简单的例子

接口SubJect.java

package pattern.detegate;

 public interface SubJect {
	public abstract void request();
}

接口的实现类

package pattern.detegate;

public class RealSubJect implements SubJect {

	
	public void request() {
		System.out.println("这里表示真实的对象");

	}

}

然后是代理类

package pattern.detegate;

public class ProxySubject implements SubJect {

	private RealSubJect realSubJect;

	public void preRequest() {
		// .............
	}

	public void request() {
		preRequest();
		if (realSubJect == null) {
			realSubJect = new RealSubJect();
		}
		realSubJect.request();
		postRequest();
	}

	public void postRequest() {
		// .............
	}

}

 测试代码

package pattern.detegate;

public class TestDetegate {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		ProxySubject proxy=new ProxySubject();
		proxy.request();
		

	}

}
 
0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics