1. 代理模式的原理與實作
在不改變原始類(或叫被代理類)的情況下,通過引入代理類來給原始類附加功能,一般情況下,我們讓代理類和原始類實作同樣的介面,但是,如果原始類并沒有定義介面,并且原始類代碼并不是我們開發維護的,在這種情況下,我們可以通過讓代理類繼承原始類的方法來實作代理模式,
2. 動態代理的原理與實作
靜態代理需要針對每個類都創建一個代理類,并且每個代理類中的代碼都有點像模板式的“重復”代碼,增加了維護成本和開發成本,對于靜態代理存在的問題,我們可以通過動態代理來解決,我們不事先為每個原始類撰寫代理類,而是在運行的時候動態地創建原始類對應的代理類,然后在系統中用代理類替換掉原始類,
3. 代理模式的應用場景
代理模式常用在業務系統中開發一些非功能性需求,比如:監控、統計、鑒權、限流、事務、冪等、日志,我們將這些附加功能與業務功能解耦,放到代理類統一處理,讓程式員只需要關注業務方面的開發,除此之外,代理模式還可以用在 RPC、快取等應用場景中,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/287915.html
標籤:其他
