原博客注销,重新编辑发布。
示例:JAVA接口的代理设计模式 + 工程设计模式(Proxy + Factory)
/*
代理设计模式
*/
interface ISubject {
public void save() ;
}
class RealSubject implements ISubject {
public void save() {
System.out.printlnj("真实的业务对象") ;
}
}
class ProxySubject implements ISubject { //代理实现
private ISubject subject ; //真正的业务操作
//在创建代理类对象的时候必须设置要代理的真实主题
public ProxySubject (ISubject subject) {
this.subject = subject ;
}
public void broke() {
System.out.println("1、进入门") ;
}
public void get() {
System.out.println("2、得到奖品") ;
}
public void save() { //接口子类一定要实现抽象方法
this.broke() ; //真实操作前的准备
this.subject.save() ; //调用真实的业务
this.get() ; //操作后的收尾
}
}
class Factory {
public static ISubject getInstance() {
return new ProxySubject(new RealSubject() ) ; //将实例化对象 进行分装
}
}
public class TestDemoFactory {
public static void main (String args[]) {
ISubject sub = Factory.getInstance() ;
//利用代理类实现真实业务调用
sub.save() ;
}
}