simpleproxydemo.java

来自「这是Java思想的最高集萃」· Java 代码 · 共 53 行

JAVA
53
字号
package chapter14;

interface Interface{
	void doSomething();
	void somethingElse(String arg);
}

class RealObject implements Interface{
	public void doSomething(){
		System.out.println("doA");
	}
	public void somethingElse(String arg){
		System.out.println("ElseA   "+arg);
	}
}

class SimpleProxy implements Interface{
	private Interface proxied;
	public SimpleProxy(Interface proxied){
		this.proxied=proxied;
	}
	@Override
	public void doSomething() {
		System.out.println("DoB");
		proxied.doSomething();
		/*
		 * 此处和下面标记处是将操作分离开来的一种方式,这种
		 * 方式称为代理
		 */
		
	}
	public void somethingElse(String arg) {
		System.out.println("ElseB   "+arg);
		proxied.somethingElse(arg);
		/*
		 * 
		 */
		
	} 
}
public class SimpleProxyDemo {
	public static void consumer(Interface iface){
		iface.doSomething();
		iface.somethingElse("bonobo");
	}
	public static void main(String args[]){
		consumer(new RealObject());
		consumer(new SimpleProxy(new RealObject()));
		
	}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?