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

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

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

    wangflood

    精心維護一個技術blog,為了工作,也是愛好。

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      14 Posts :: 19 Stories :: 8 Comments :: 0 Trackbacks
    在框架里,看到一段動態代理的混亂設計。可能后期會改的。中午要睡了,先貼出來,以后有時間再分析更改注釋.

    public interface Bird {

        
    public void fly();
        
    public void song();
    }

    public class TinyBird implements Bird {

        
    private static final TinyBird instance = new TinyBird();

        
    static final TinyBird getDefault() {
            
    return instance;
        }

        @Override
        
    public void fly() {
            System.out.println(
    "bird flying .");

        }

        @Override
        
    public void song() {
            System.out.println(
    "bird songing .");

        }

    }


    public class BirdHandler implements InvocationHandler {

        
    private Object deledate;

        
    public BirdHandler(TinyBird deledate) {
            
    this.deledate = deledate;
        }

        @Override
        
    public Object invoke(Object proxy, Method method, Object[] args)
                
    throws Throwable {
            doBefore();
            Object result 
    = method.invoke(deledate, args);
            doAfter();
            
    return result;
        }

        
    private void doBefore() {
            System.out.println(
    "before.");
        }

        
    private void doAfter() {
            System.out.println(
    "after.");
        }
    }



    public class Factory {

        
    private static Bird instance = newInstance(TinyBird.getDefault());

        
    public static Bird getDefaultSettings() {
            
    return instance;
        }

        
    public static Bird newSettings() {
            
    return newInstance(new TinyBird());
        }

        
    private static Bird newInstance(TinyBird real) {
            Class
    <?> c = TinyBird.class;
            
    return (Bird) Proxy.newProxyInstance(c.getClassLoader(),
                    c.getInterfaces(), 
    new BirdHandler(real));
        }

    }


    Factory.getDefaultSettings()和Factory.newSettings()為什么要同時出現。。。。。。。



    posted on 2011-03-30 12:48 wangflood 閱讀(152) 評論(0)  編輯  收藏 所屬分類: java
    主站蜘蛛池模板: 大地资源在线观看免费高清| 成人性生交大片免费看中文| 成年黄网站色大免费全看| 亚洲日韩欧洲乱码AV夜夜摸| 成人在线免费视频| 亚洲国产精品不卡毛片a在线| 污网站在线观看免费| 免费午夜爽爽爽WWW视频十八禁 | 国产亚洲Av综合人人澡精品| 国产精品视频免费一区二区三区| 亚洲日韩国产AV无码无码精品| 国产成人免费爽爽爽视频| 中文字幕亚洲码在线| 国产午夜鲁丝片AV无码免费| 亚洲av无码专区首页| 波多野结衣一区二区免费视频| 一级A毛片免费观看久久精品| 2022中文字字幕久亚洲| 永久在线观看免费视频| 91亚洲精品自在在线观看| 成人性生交大片免费看无遮挡 | 不卡视频免费在线观看| 亚洲av日韩av天堂影片精品| 3d动漫精品啪啪一区二区免费 | 亚洲国产高清在线精品一区 | 男男AV纯肉无码免费播放无码| 亚洲中文字幕无码中文字| 国产精品免费视频网站| 中国一级特黄的片子免费 | 亚洲JIZZJIZZ妇女| 亚洲一区二区三区免费| 亚洲精品免费视频| 亚洲午夜精品久久久久久app| 免费人妻av无码专区| 香港a毛片免费观看| 久久亚洲国产成人影院| 亚洲精品无码av天堂| 99re6在线精品视频免费播放| 亚洲熟伦熟女专区hd高清| 亚洲中文字幕久久精品无码APP | 污视频网站在线观看免费|