vjame

          優(yōu)化代碼是無止境的
          隨筆 - 65, 文章 - 9, 評論 - 26, 引用 - 0
          數(shù)據(jù)加載中……

          代理模式之動態(tài)代理

          動態(tài)代理

          自從JDK的版本到1.3以后,java語言通過java.lang.reflect庫中,提供了三個類來直接支持代理模式。
          分別是:Proxy,InvocoationHandler和Method。

          Proxy類使得設(shè)計師能夠在運行時間創(chuàng)建代理對象
          當系統(tǒng)有了一個代理對象后,對源對象的方法調(diào)用會首先被分派給一個調(diào)用處理器(InvocationHandler)//接口
          InvocationHandler接口中有一個invoke()方法
          程序可以在調(diào)用處理器的invoke方法中截獲這個調(diào)用,進行額外的操作

          創(chuàng)建動態(tài)代理對象的步驟:
          1.指明一系列的接口來創(chuàng)建一個代理對象
          2.創(chuàng)建一個調(diào)用處理器(InvocationHandler)對象
          3.將這個代理指定為某個其他對象的代理對象
          4.在調(diào)用處理器的invoke方法中采取代理,一方面將調(diào)用傳遞給真實對象,另一方面執(zhí)行各種需要做的操作。

          電腦代理商
          抽象主題角色:SaleComputer
          真實主題角色:ComputerMaker
          代理主題角色:ComputerProxy
          Java動態(tài)代理的過程:ProxyFunction(我們定義的一個類,由這個類來具體的完成代理過程)

          源代碼 http://www.aygfsteel.com/Files/vjame/ProxyDemo02.rar

          posted on 2008-10-29 18:54 lanjh 閱讀(218) 評論(0)  編輯  收藏 所屬分類: 設(shè)計模式


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          主站蜘蛛池模板: 广水市| 英吉沙县| 大姚县| 柘城县| 兴安县| 镇江市| 钟祥市| 瓦房店市| 香格里拉县| 公安县| 应城市| 邻水| 湘潭县| 连平县| 湖南省| 厦门市| 砀山县| 巨鹿县| 赤峰市| 吕梁市| 昌宁县| 神农架林区| 夏津县| 阿勒泰市| 汕尾市| 抚宁县| 宜州市| 射阳县| 城固县| 吉林省| 沙洋县| 班戈县| 包头市| 大悟县| 牟定县| 张家川| 浮山县| 巴彦县| 靖安县| 吴堡县| 庆阳市|