<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 閱讀(153) 評論(0)  編輯  收藏 所屬分類: java
    主站蜘蛛池模板: 亚洲VA中文字幕不卡无码| 最新精品亚洲成a人在线观看| 91久久亚洲国产成人精品性色 | 国产成人综合久久精品亚洲| 99视频全部免费精品全部四虎| 久久久久亚洲av无码专区喷水| 青青青国产手机频在线免费观看 | 在线免费观看毛片网站| 国产成人精品日本亚洲专一区 | ASS亚洲熟妇毛茸茸PICS| 免费精品国产日韩热久久| 亚洲人成综合在线播放| 国产在线观看麻豆91精品免费| 亚洲一区二区三区乱码在线欧洲| 最近免费中文在线视频| 亚洲乱码在线观看| 午夜时刻免费入口| 无人视频在线观看免费播放影院| 一级毛片直播亚洲| 亚洲精品456在线播放| 免费v片在线观看视频网站| 亚洲人成网男女大片在线播放 | 免费v片在线观看无遮挡| 全部一级一级毛片免费看| 亚洲熟妇无码另类久久久| 久久精品电影免费动漫| 亚洲人成电影青青在线播放| 国产免费观看a大片的网站| 一级毛片不卡免费看老司机| 亚洲AV无码成人网站久久精品大| 1000部免费啪啪十八未年禁止观看 | 日韩免费无砖专区2020狼| 青青草97国产精品免费观看| 久久精品亚洲中文字幕无码网站| A在线观看免费网站大全| 美女露100%胸无遮挡免费观看 | 国产免费人视频在线观看免费| 精品免费久久久久国产一区| 亚洲美女视频网站| 国产一区二区三区免费在线观看| 天堂在线免费观看|