學習了一下代理設計模式,順便記錄一下心德。 代理模式在編程中比較常見同時在生活中我們也是比較常見的,比如讓同事給帶飯,找婚介公司給籌劃婚禮,找中介公司給你把房子租出去等。 代理模式使用場景: 對一個類我們不能獲取到某個對象或者不想直接獲取某個對象時可以通過一個代理對象間接訪問該對象,委托對象與代理對象需要實現相同的接口。 代理模式的幾個角色: Subject:抽象主題類 RealSubject:具體實現類 PRoxy:代理類,持有具體實現類的引用. 代理模式分為兩種:靜態代理+動態代理。
在代碼運行之前代理類的class編譯文件就已經存在。 看下簡單的代碼。根據上面說的委托對象與代理對象需要實現相同的接口。接口也就少不了。
通過反射機制動態的生成代理者的對象。在編程過程中我們不需要知道代理誰,只有在執行階段才知道代理的誰。在java中也為我們提供了invocationHandler接口方便我們實現動態代理。
新聞熱點
疑難解答