<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)作品(標(biāo)有[原]字樣)轉(zhuǎn)載時(shí)請(qǐng)注明出處,謝謝。

    常用鏈接

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

    訂閱

    訂閱

    留言簿(7)

    隨筆分類(130)

    隨筆檔案(123)

    搜索

    •  

    積分與排名

    • 積分 - 155592
    • 排名 - 390

    最新評(píng)論

    [關(guān)鍵字]:java,design pattern,設(shè)計(jì)模式,《Java與模式》學(xué)習(xí),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
     *
     * 在搜索的時(shí)需要進(jìn)行進(jìn)行權(quán)限認(rèn)證和使用計(jì)數(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;
    /**
     * 實(shí)際執(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ù)庫(kù)中執(zhí)行實(shí)際搜索,
            //此只是示例代碼。
            String result = "sample result";

            return result;
        }
    }

    ProxySearcher.java:
    package pattern.proxy.smart;
    /**
     * 代理搜索
     * 將搜索傳遞給RealSearcher并對(duì)調(diào)用進(jìn)行驗(yàn)證和計(jì)數(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;
        }
    }

    /**
     * 對(duì)客戶端的訪問進(jìn)行驗(yàn)證
     */
    class AccessValidator{

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

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

            return permission;
        }

    }


    /**
     * 訪問計(jì)數(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);   
        }
    }

    運(yùn)行結(jié)果:
    result:null
    result:sample result
    posted on 2009-06-29 22:31 天堂露珠 閱讀(655) 評(píng)論(0)  編輯  收藏 所屬分類: Pattern
    主站蜘蛛池模板: 国产情侣激情在线视频免费看| 久久伊人亚洲AV无码网站| 精品韩国亚洲av无码不卡区| 免费在线观看你懂的| 99久久久国产精品免费无卡顿| 免费一级毛片在线播放放视频 | 亚洲熟妇av一区| 亚洲美日韩Av中文字幕无码久久久妻妇| 最近免费中文字幕大全免费| 国产黄在线观看免费观看不卡| 亚洲人成www在线播放| 亚洲无限乱码一二三四区| 亚洲中文字幕无码不卡电影| 亚洲电影日韩精品| 啦啦啦www免费视频| 毛片免费视频播放| 成人AV免费网址在线观看| 中文字幕免费高清视频| 91免费播放人人爽人人快乐| 好湿好大好紧好爽免费视频 | 一级毛片**不卡免费播| 久久亚洲精品中文字幕三区| 91黑丝国产线观看免费| 日韩精品亚洲专区在线影视| 亚洲图片校园春色| 亚洲毛片免费视频| 亚洲免费观看在线视频| 亚洲香蕉在线观看| 亚洲一区二区三区四区视频| 久久精品国产亚洲AV久| 精品亚洲成在人线AV无码| 亚洲国产乱码最新视频| 无遮挡a级毛片免费看| 91精品成人免费国产| 久久成人无码国产免费播放| 无码av免费毛片一区二区| 青青草国产免费久久久91| 亚洲国产第一站精品蜜芽| 亚洲黄色在线播放| 免费又黄又爽又猛大片午夜| 国产一级婬片A视频免费观看|