<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成人无码天堂| 亚洲中文字幕久久精品无码喷水| 成全视频免费高清| 黄页视频在线观看免费| 亚洲第一AAAAA片| 亚洲日韩精品无码专区网站| 无码免费午夜福利片在线| 色欲国产麻豆一精品一AV一免费| 一级特黄a免费大片| 特级av毛片免费观看| 亚洲第一成年免费网站| 亚洲国产人成在线观看| 亚洲成a人一区二区三区| 一级毛片免费观看不卡的| 大妹子影视剧在线观看全集免费| 亚洲欧洲综合在线| 亚洲AV日韩AV永久无码久久| 日本黄页网站免费| 妞干网手机免费视频| 黄色网址在线免费| 美女黄频a美女大全免费皮| 亚洲午夜成人精品无码色欲| 国产精品亚洲片在线| 免费视频中文字幕| 久操视频在线免费观看| 中文字幕av免费专区| 中国国产高清免费av片| 9久热这里只有精品免费| 亚洲乱人伦中文字幕无码| 亚洲va久久久噜噜噜久久男同| 亚洲一级片免费看| 自拍偷自拍亚洲精品被多人伦好爽 | 特级毛片aaaa免费观看| 九九免费精品视频在这里| 一级特级aaaa毛片免费观看| 两性色午夜免费视频| 黄色免费在线网站| 亚洲视频在线免费播放|