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

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

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

    夢幻之旅

    DEBUG - 天道酬勤

       :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      671 隨筆 :: 6 文章 :: 256 評論 :: 0 Trackbacks
    jdk代理:
    1.抽象主題
    package dynamicProxy;

    /**
     * <ul>
     * <li>Title:[SellWine]</li>
     * <li>Description: [賣酒接口]</li>
     * <li>Copyright 2009 Upengs Co., Ltd.</li>
     * <li>All right reserved.</li>
     * <li>Created by [Huyvanpull] [2011-8-2]</li>
     * <li>Midified by [modifier] [modified time]</li>
     * </ul>
     * 
    @version 1.0  
     
    */

    public interface SellWine
    {   
        
    public void sell();
    }



    2.具體主題
    package dynamicProxy;

    /**
     * <ul>
     * <li>Title:[WineFactory]</li>
     * <li>Description: [type of functional description]</li>
     * <li>Copyright 2009 Upengs Co., Ltd.</li>
     * <li>All right reserved.</li>
     * <li>Created by [Huyvanpull] [2011-8-2]</li>
     * <li>Midified by [modifier] [modified time]</li>
     * </ul>
     * 
    @version 1.0  
     
    */

    public class WineFactory implements SellWine
    {

        
    /* (non-Javadoc)
         * @see proxy.SellWine#sell()
         
    */

        
    public void sell()
        
    {
            System.out.println(
    "wineFactory賣酒.");
        }
       

    }


    3.代理類
    package dynamicProxy;

    import java.lang.reflect.InvocationHandler;
    import java.lang.reflect.Method;

    public class DynamicProxy implements InvocationHandler
    {
        
    private Object target;
        
        
    public DynamicProxy(Object realSubject)
        
    {
            target 
    = realSubject;
        }

        
        
    public Object invoke(Object proxy, Method method, Object[] args)
                
    throws Throwable
        
    {
            Object proxyObj 
    = null;
            
    try
            
    {
                System.out.println(
    "執行前");
                method.invoke(target, args);
                System.out.println(
    "執行后");
            }

            
    catch(Exception ex)
            
    {
                ex.printStackTrace();
            }

            
    return proxyObj;
        }
       

    }


    4.測試類
    package dynamicProxy;

    import java.lang.reflect.Proxy;

    public class Test
    {
        
    /**
         * 代理模式中的調用
         * 
         * 
    @param args
         
    */

        
    public static void main(String[] args)
        
    {
            SellWine sellWine 
    = new WineFactory();
            DynamicProxy dynamicProxy 
    = new DynamicProxy(sellWine);
            sellWine 
    = (SellWine) Proxy
                    .newProxyInstance(sellWine.getClass().getClassLoader(),
                            
    new Class[] { SellWine.class }, dynamicProxy);
            sellWine.sell();
        }

    }


    動態代理能代理不同的接口.
    posted on 2011-08-02 16:12 HUIKK 閱讀(346) 評論(0)  編輯  收藏 所屬分類: Design Patterns
    主站蜘蛛池模板: 亚洲日韩在线中文字幕第一页| 伊人久久综在合线亚洲91 | 一级毛片免费播放试看60分钟| 国产精品亚洲不卡一区二区三区 | 亚洲日韩精品无码专区网站| 久久精品国产大片免费观看| 亚洲中文字幕一二三四区| 国产精品亚洲玖玖玖在线观看| 最近中文字幕免费完整| 国产亚洲综合久久| 亚洲精品无码久久久影院相关影片 | 日韩精品一区二区亚洲AV观看| 成人毛片手机版免费看| 国产综合免费精品久久久| 久久精品国产亚洲αv忘忧草| 亚洲国产精品成人网址天堂| 1区2区3区产品乱码免费| 老司机午夜在线视频免费观| 亚洲美女中文字幕| 亚洲区日韩区无码区| 在线看片无码永久免费视频| 91免费国产视频| 亚洲第一综合天堂另类专| 久久精品国产亚洲AV大全| 亚洲精品国产精品乱码不卡| 最近最新的免费中文字幕| 久热免费在线视频| 一级毛片免费播放男男| 亚洲乱码国产乱码精华| 蜜芽亚洲av无码精品色午夜| 国产亚洲色婷婷久久99精品91| 天天摸天天碰成人免费视频| 99精品免费观看| a级精品九九九大片免费看| 国产精品亚洲专区无码唯爱网| 91亚洲国产成人久久精品| 亚洲AV永久纯肉无码精品动漫| 吃奶摸下高潮60分钟免费视频| 手机在线免费视频| 1000部拍拍拍18勿入免费视频下载| 人成免费在线视频|