1. 程式人生 > >設計模式之靜態代理模式

設計模式之靜態代理模式

sta 設計 interface 技術分享 face nbsp 圖片 pre his

技術分享圖片


//
設計模式之靜態代理模式 interface Chefer { void BecomeChefer(); } //小明想當廚師,天天做好吃的 class XiaoMing implements Chefer { @Override public void BecomeChefer() { System.out.println("我要學廚藝"); } } //我是中介,錢出夠了什麽都妥了 class Proxy implements Chefer { //靜態代理模式需要把對象傳進來 private XiaoMing xiaoMing; Proxy(XiaoMing xiaoMing) {
this.xiaoMing = xiaoMing; } @Override public void BecomeChefer() { System.out.println("我是中介,你想要幹啥"); xiaoMing.BecomeChefer(); System.out.println("先給錢"); } } public class Demo4 { public static void main(String[] args) { Proxy proxy = new Proxy(new
XiaoMing()); proxy.BecomeChefer(); } } 輸出: 我是中介,你想要幹啥 我要學廚藝 我開始幫你找啦

靜態代理模式有一個很嚴重的缺點,就是需要生成一個代理類,很麻煩,不推薦

設計模式之靜態代理模式