<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 117  文章 - 72  trackbacks - 0

    聲明:原創(chuàng)作品(標有[原]字樣)轉(zhuǎn)載時請注明出處,謝謝。

    常用鏈接

    常用設(shè)置
    常用軟件
    常用命令
     

    訂閱

    訂閱

    留言簿(7)

    隨筆分類(130)

    隨筆檔案(123)

    搜索

    •  

    積分與排名

    • 積分 - 155637
    • 排名 - 391

    最新評論

    [關(guān)鍵字]:java,design pattern,設(shè)計模式,《Java與模式》學習,Proxy Pattern,代理模式
    [環(huán)境]:StarUML5.0 + JDK6
    [作者]:Winty (wintys@gmail.com) http://wintys.blogjava.net
    [正文]:

    智能引用代理:

    SmartProxyTest.java(并不屬于pattern.proxy.smart包):
    import pattern.proxy.smart.*;
    /**
     * 智能引用代理:Smart Proxy
     *
     * 在搜索的時需要進行進行權(quán)限認證和使用計數(shù)
     *
     * @version 2009-6-29
     * @author Winty(wintys@gmail.com)
     */
    public class SmartProxyTest{
        public static void main(String[] args){
            String result;
            Searcher searcher;

            //未授權(quán)訪問
            searcher = new ProxySearcher("anonymous");
            result = searcher.search("abc");
            System.out.println("result:" + result);

            //授權(quán)訪問
            searcher = new ProxySearcher("admin");
            result = searcher.search("xyz");
            System.out.println("result:" + result);
        }
    }


    Searcher.java:
    package pattern.proxy.smart;
    /**
     * 搜索
     * @version 2009-6-29
     * @author Winty(wintys@gmail.com) http://wintys.blogjava.net
     */
    public interface Searcher{
        /**
         * @param value 要搜索的內(nèi)容
         */
        public String search(String value);
    }

    RealSearcher.java:
    package pattern.proxy.smart;
    /**
     * 實際執(zhí)行搜索的類。
     * 為了避免客戶端直接使用,本類沒有設(shè)置為public
     * @version 2009-6-29
     * @author Winty(wintys@gmail.com) http://wintys.blogjava.net
     */
    class RealSearcher implements Searcher{
        @Override
        public String search(String value){
            //在這里可以根據(jù)value到數(shù)據(jù)庫中執(zhí)行實際搜索,
            //此只是示例代碼。
            String result = "sample result";

            return result;
        }
    }

    ProxySearcher.java:
    package pattern.proxy.smart;
    /**
     * 代理搜索
     * 將搜索傳遞給RealSearcher并對調(diào)用進行驗證和計數(shù)
     *
     * @version 2009-6-29
     * @author Winty(wintys@gmail.com) http://wintys.blogjava.net
     */
    public class ProxySearcher implements Searcher{
        private Searcher searcher;
        private String user;

        public ProxySearcher(String user){
            searcher = new RealSearcher();
            this.user = user;
        }

        @Override
        public String search(String value){

            if(AccessValidator.validate(user)){
                String result = searcher.search(value);
                UsageLogger.log(user , value);
                
                return result;
            }

            return null;
        }
    }

    /**
     * 對客戶端的訪問進行驗證
     */
    class AccessValidator{

        public static boolean validate(String user){
            boolean permission = false;

            if("admin".equals(user))
                permission = true;

            return permission;
        }

    }


    /**
     * 訪問計數(shù)
     */
    class UsageLogger{
        /**
         * @param user 用戶名
         * @param value 搜索的內(nèi)容
         */
        public static void log(String user , String value){
            String sql;
            sql = "INSERT INTO usage(user , value)  values('";
            sql += user + "' , '" + value + "')";
            //執(zhí)行SQL: stmt.executeUpdate(sql);   
        }
    }

    運行結(jié)果:
    result:null
    result:sample result
    posted on 2009-06-29 22:31 天堂露珠 閱讀(655) 評論(0)  編輯  收藏 所屬分類: Pattern
    主站蜘蛛池模板: 久久亚洲国产成人影院| 免费国产高清毛不卡片基地 | 亚洲精品一二三区| 99在线免费观看视频| 亚洲国产成人久久综合一| 你懂的免费在线观看网站| 亚洲AV无码乱码在线观看富二代 | 日韩久久无码免费毛片软件 | 亚洲成av人片天堂网老年人| 精品视频免费在线| 免费a在线观看播放| 一级做a爱过程免费视| 亚洲黄色免费网址| 久久国产乱子伦精品免费一 | 亚洲激情视频图片| 亚洲成a人片在线不卡一二三区 | 免费h成人黄漫画嘿咻破解版| 国产成人综合亚洲| 四虎影视在线永久免费观看| 一级成人a免费视频| 国产精一品亚洲二区在线播放 | 国产免费AV片在线观看播放| 亚洲国产婷婷六月丁香| 99在线观看精品免费99| 狠狠色伊人亚洲综合网站色| 国产国产成年年人免费看片| 久久国产一片免费观看| 亚洲乱亚洲乱淫久久| 久久电影网午夜鲁丝片免费| 91亚洲va在线天线va天堂va国产 | 亚洲AV永久无码精品| 4虎永免费最新永久免费地址| 国产精品无码亚洲一区二区三区| 成年人网站在线免费观看| 一级特黄a免费大片| 久久亚洲春色中文字幕久久久| 可以免费看的卡一卡二| 中中文字幕亚洲无线码| 亚洲精品天堂成人片?V在线播放| 亚洲国产欧洲综合997久久| 中文字幕中韩乱码亚洲大片|