面向物件 介面之代理模式(ProxySubject)
阿新 • • 發佈:2019-01-04
//核心操作 我定義一個介面 讓子類去實現
interface ISubject{
public void get();
}
//真實主題操作 作唯一的業務 實現該介面主力
class Student implements ISubject{
@Override
public void get() {
System.out.println("吃藥材");
}
}
//通過工廠模式返回一個真實主體操作核心物件
class Factory {
public static ISubject getSubject(String className){
return new Student();
}
return null;
}
}
// 通過第三方平臺代理人幫我去做的事情
class ProxySubject implements ISubject {
private ISubject sub;
public ProxySubject(String className){
if(sub==null){
}
}
//為核心主題前 做準備
public void getYaoCai(){
System.out.println("準備好靈芝 開始煎藥");
}
@Override
public void get() {
//準備工作
this.getYaoCai();
//核心工作 代理不知道怎麼做 交給總裁去做
//清理工作
this.getClose();
}
//清理最後一步操作
public void getClose(){
System.out.println("清理所有的沒用的藥材 清理藥碗");
}
}
/**測試類**/
public class MyDemo2 {
public static void main(String[] args) {
ISubject cs=new ProxySubject("Student");
cs.get();//呼叫代理核心主題
}
}