99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

16. 解釋一下代理模式(Proxy)

2018-11-13 22:16 更新

問題: 解釋一下代理模式(Proxy)

  • 代理模式: 代理模式就是本該我做的事,我不做,我交給代理人去完成。就比如,我生產(chǎn)了一些產(chǎn)品,我自己不賣,我委托代理商幫我賣,讓代理商和顧客打交道,我自己負(fù)責(zé)主要產(chǎn)品的生產(chǎn)就可以了。 代理模式的使用,需要有本類,和代理類,本類和代理類共同實(shí)現(xiàn)統(tǒng)一的接口。然后在main中調(diào)用就可以了。本類中的業(yè)務(wù)邏輯一般是不會(huì)變動(dòng)的,在我們需要的時(shí)候可以不斷的添加代理對(duì)象,或者修改代理類來(lái)實(shí)現(xiàn)業(yè)務(wù)的變更。
  • 代理模式可以分為: 靜態(tài)代理 優(yōu)點(diǎn):可以做到在不修改目標(biāo)對(duì)象功能的前提下,對(duì)目標(biāo)功能擴(kuò)展 缺點(diǎn):因?yàn)楸緛?lái)和代理類要實(shí)現(xiàn)統(tǒng)一的接口,所以會(huì)產(chǎn)生很多的代理類,類太多,一旦接口增加方法,目標(biāo)對(duì)象和代理對(duì)象都要維護(hù)。 動(dòng)態(tài)代理(JDK代理/接口代理) 代理對(duì)象,不需要實(shí)現(xiàn)接口,代理對(duì)象的生成,是利用JDK的API,動(dòng)態(tài)的在內(nèi)存中構(gòu)建代理對(duì)象,需要我們指定代理對(duì)象/目標(biāo)對(duì)象實(shí)現(xiàn)的接口的類型。 Cglib代理 特點(diǎn): 在內(nèi)存中構(gòu)建一個(gè)子類對(duì)象,從而實(shí)現(xiàn)對(duì)目標(biāo)對(duì)象功能的擴(kuò)展。
  • 使用場(chǎng)景: 修改代碼的時(shí)候。不用隨便去修改別人已經(jīng)寫好的代碼,如果需要修改的話,可以通過(guò)代理的方式來(lái)擴(kuò)展該方法。 隱藏某個(gè)類的時(shí)候,可以為其提供代理類 當(dāng)我們要擴(kuò)展某個(gè)類功能的時(shí)候,可以使用代理類 當(dāng)一個(gè)類需要對(duì)不同的調(diào)用者提供不同的調(diào)用權(quán)限的時(shí)候,可以使用代理類來(lái)實(shí)現(xiàn)。 減少本類代碼量的時(shí)候。 需要提升處理速度的時(shí)候。就比如我們?cè)谠L問某個(gè)大型系統(tǒng)的時(shí)候,一次生成實(shí)例會(huì)耗費(fèi)大量的時(shí)間,我們可以采用代理模式,當(dāng)用來(lái)需要的時(shí)候才生成實(shí)例,這樣就能提高訪問的速度。
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)