posts - 325,  comments - 25,  trackbacks - 0
           
          代理模式的作用是:為其他對象提供一種代理以控制對這個對象的訪問。
          在某些情況下,一個客戶不想或者不能直接引用另一個對象,而代理對象可以在客戶端和目標對象之間起到中介的作用
           
          代理模式一般涉及到的角色有
          §抽象角色:聲明真實對象和代理對象的共同接口
          §代理角色:代理對象角色內部含有對真實對象的引用,從而可以操作真實對象,同時代理對象提供與真實對象相同的接口以便在任何時刻都能代替真實對象。同時,代理對象可以在執行真實對象操作時,附加其他的操作,相當于對真實對象進行封裝
          §真實角色:代理角色所代表的真實對象,是我們最終要引用的對象
          例:

          // 抽象角色

          abstract public class Subject

          {

              abstract public void request();

          }

          //真實角色:實現了Subject的request()方法

          public class RealSubject extends Subject
          {

              public RealSubject()
              {
              }

              public void request()
              {
                  System.out.println("From real subject.");
              }

          }

          //代理角色

          public class ProxySubject extends Subject

          {
              private RealSubject realSubject; // 以真實角色作為代理角色的屬性

              public ProxySubject()
              {
              }

              public void request() // 該方法封裝了真實對象的request方法

              {
                  preRequest();

                  if (realSubject == null)
                  {
                      realSubject = new RealSubject();
                  }

                  realSubject.request(); // 此處執行真實對象的request方法

                  postRequest();
              }

              private void preRequest()
              {

                  // something you want to do before requesting

              }

              private void postRequest()
              {

                  // something you want to do after requesting

              }

          }

          //客戶端調用

          public class Client
          {
              public static void main(String[] args)
              {
                  Subject sub = new ProxySubject();

                  sub.request();
              }
          }

          posted on 2008-05-26 08:48 長春語林科技 閱讀(285) 評論(0)  編輯  收藏 所屬分類: java
          <2008年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

           

          長春語林科技歡迎您!

          常用鏈接

          留言簿(6)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          相冊

          收藏夾

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 襄城县| 台南县| 莱州市| 陵水| 天镇县| 泽州县| 丹巴县| 石狮市| 崇左市| 旌德县| 上蔡县| 琼结县| 星子县| 铁岭县| 民丰县| 游戏| 霍林郭勒市| 凤翔县| 旬邑县| 江达县| 儋州市| 平潭县| 定兴县| 察隅县| 宜阳县| 辽宁省| 江西省| 衡东县| 朝阳县| 独山县| 中山市| 鹰潭市| 隆尧县| 浪卡子县| 利津县| 屏东县| 五大连池市| 门头沟区| 昌邑市| 涿州市| 庄河市|