标签:代理模式 super code auto 隐藏 ati imp style 概述
为了隐藏与保护目标对象,为其他对象提供一个代理以控制对该目标对象的访问。
代理模式有两种:
父类:可以是一个接口、抽象类、一般类,一般是接口,保证可以按照操作目标对象的方式操作代理对象。
目标类:实现了父类。
代理类:不仅拥有与目标相同的父类,而且包含目标类对象。
代理模式的作用是隐藏与保护目标对象,因此目标对象不能由用户创建,而是在代理类内部创建,具体在代理类构造方法内创建,这样就隐藏了目标对象。
package com.designmode.proxy.staticTest.demo02; public interface ISomeService { String doSome(String message); }
package com.designmode.proxy.staticTest.demo02; public class SomeServiceImpl implements ISomeService { @Override public String doSome(String message) { // TODO Auto-generated method stub return message; } }
package com.designmode.proxy.staticTest.demo02; public class SomeServiceProxy implements ISomeService { private ISomeService service; public SomeServiceProxy() { super(); service = new SomeServiceImpl();//在代理类构造方法内部创建目标对象 } @Override public String doSome(String message) { return service.doSome(message).toUpperCase(); } }
package com.designmode.proxy.staticTest.demo02; import org.junit.Test; public class StaticProxyTest { @Test public void test01() { ISomeService proxy = new SomeServiceProxy(); String result = proxy.doSome("abc"); System.out.println("result=" + result); } }
标签:代理模式 super code auto 隐藏 ati imp style 概述
原文地址:http://www.cnblogs.com/tonghun/p/6925614.html