Service类
package com.mvc.rest;
/**
* 代理模式-接口
*
*/
public interface Active {
public void showActiveTime();
public void showActivePlace();
public void showMessage();
}
Service实现类1
package com.mvc.rest;
/**
* 代理模式-被代理类
*
*/
public class ActiveImpl implements Active{
public void showMessage(){
System.out.println("活动要被取消");
}
public void showActiveTime() {
System.out.println("2014-06-26");
}
public void showActivePlace() {
System.out.println("北京市怀柔区");
}
}
Service实现类2
package com.mvc.rest;
/**
* 代理模式-被代理类
*
*/
public class Active2Impl implements Active{
public void showMessage(){
System.out.println("活动将继续");
}
public void showActiveTime() {
System.out.println("2014-06-26");
}
public void showActivePlace() {
System.out.println("北京市怀柔区");
}
}
package com.mvc.rest;
/**
* 代理模式-代理类
*
*/
public class ActiveProxyImpl implements Active{
private Active active;
public ActiveProxyImpl(Active active){
this.active = active;
}
public void showActiveTime() {
System.out.println("活动时间");
active.showActiveTime();
}
public void showActivePlace() {
System.out.println("活动地点");
active.showActivePlace();
}
public void showMessage() {
System.out.println("各位注意");
active.showMessage();
}
}
package com.mvc.rest;
/**
* 代理模式-测试
*
*/
public class ActiveProxyTest {
public static void main(String args[]){
ActiveProxyImpl proxy = new ActiveProxyImpl(new ActiveImpl());
proxy.showActiveTime();
proxy.showActivePlace();
proxy.showMessage();
proxy = new ActiveProxyImpl(new Active2Impl());
proxy.showActiveTime();
proxy.showActivePlace();
proxy.showMessage();
}
}