您好,登錄后才能下訂單哦!
本篇文章為大家展示了Java中怎么實現代理模式,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
一 不用代理模式的酒商
1 代碼
class RealSubject // 真實角色(紅酒廠商) { public void sell() { System.out.println("我是紅酒廠商,歡迎品嘗購買"); } } public class NoProxytest { // 客戶端 public static void main( String[] args ) { RealSubject sub = new RealSubject(); sub.sell(); } }
2 運行
我是紅酒廠商,歡迎品嘗購買
二 使用代理模式的酒商
1 代碼
abstract class Subject // 抽象類,真實角色與代理角色共同繼承 { abstract public void sell(); } class RealSubject extends Subject // 真實角色(紅酒廠商) { public void sell() // 覆寫抽象方法 { System.out.println("我是紅酒廠商,歡迎品嘗購買"); } } class ProxySubject extends Subject // 代理角色(代理商) { private RealSubject realSubject; // 持有真實角色的引用 public void sell() // 該方法封裝了真實對象的sell方法 { presell(); if (realSubject == null) { realSubject = new RealSubject(); } realSubject.sell(); // 此處執行真實對象的sell方法 postsell(); } private void presell()//執行實際角色的方法之前可以進行一些預處理 { System.out.println("廣告宣傳,免費品嘗"); } private void postsell()//執行實際角色的方法之后可以進行一些后續工作 { System.out.println("售后處理"); } } public class proxyDemo { public static void main( String[] args ) // 客戶直接找代理商,無須和實際真正角色打交道 { Subject sub = new ProxySubject(); sub.sell(); } }
2 運行
廣告宣傳,免費品嘗
我是紅酒廠商,歡迎品嘗購買
售后處理
3 類圖
上述內容就是Java中怎么實現代理模式,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。