Java介面設計模式---代理設計模式
阿新 • • 發佈:2018-12-20
概念:兩個子類共同實現一個介面,其中一個子類負責真實業務實現,另一個子類完成輔助真實業務主題的操作。
package www.miao.java;
interface ISubject{
//核心功能是買電腦
public void buyComputer();
}
//真實業務實現
class RealSubject implements ISubject{
public void buyComputer() {
System.out.println("買一臺外星人電腦");
}
}
class proxySubject implements ISubject{
//真實的操作業務
private ISubject subject;
public proxySubject(ISubject subject) {
this.subject = subject;
}
public void produceComputer() {
System.out.println("生產外星人電腦");
}
public void afterSale()
{
System.out.println("外星人電腦售後");
}
public void buyComputer() {
//真實操作前的準備
this.produceComputer();
//呼叫真實業務
this.subject.buyComputer();
//操作後的收尾
this.afterSale();
}
}
class Factory{
public static ISubject getInstance()
{
return new proxySubject(new RealSubject());
}
}
public class Test{
public static void main(String [] args){
ISubject subject = Factory.getInstance();
subject.buyComputer();
}
}