結構型模式(四):Proxy ( 代理模式 )

來源:互聯網
上載者:User

代理模式給某一個對象提供一個代理對象,並由代理對象控制對來源物件的引用。代理就是一個人或一個機構代表另一個人或者一個機構採取行動。某些情況下,客戶不想或者不能夠直接引用一個對象,代理對象可以在客戶和目標對象直接起到中介的作用。用戶端分辨不出代理主題對象與真實主題對象。代理模式可以並不知道真正的被代理對象,而僅僅持有一個被代理對象的介面,這時候代理對象不能夠建立被代理對象,被代理對象必須有系統的其他角色代為建立並傳入。

例子:

 1 interface Demo{
2 public void action();
3 }
4
5 class RealDemo implements Demo{
6 @Override
7 public void action() {
8 System.out.println("這是被真實實作類別");
9 }
10 }
11
12 class ProxyDemo implements Demo{
13 private Demo real;
14 public ProxyDemo(){
15 System.out.println("這是代理類");
16 real=new RealDemo();
17 }
18 @Override
19 public void action() {
20 System.out.println("代理開始");
21 real.action();
22 System.out.println("代理結束");
23 }
24 }
25
26 public class Test {
27 public static void main(String[] args) {
28 Demo demo=new ProxyDemo();
29 demo.action();
30 }
31 }

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.