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 長春語林科技 閱讀(283) 評論(0)  編輯  收藏 所屬分類: java
          <2008年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

           

          長春語林科技歡迎您!

          常用鏈接

          留言簿(6)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          相冊

          收藏夾

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 乃东县| 南城县| 临颍县| 云霄县| 西盟| 丁青县| 桃园市| 南汇区| 商水县| 田东县| 曲阜市| 竹山县| 普陀区| 会泽县| 诸城市| 康保县| 班戈县| 平阴县| 开原市| 桐梓县| 怀远县| 独山县| 朝阳市| 宜都市| 潼关县| 行唐县| 合山市| 军事| 临泉县| 柳江县| 阿瓦提县| 太湖县| 虞城县| 驻马店市| 沁阳市| 桂林市| 昌邑市| 梨树县| 迁西县| 绥江县| 湘潭县|