代理模式
模式介紹
代理模式是對(duì)象的結(jié)構(gòu)模式。代理模式給某一個(gè)對(duì)象提供一個(gè)代理對(duì)象,并由代理對(duì)象控制對(duì)原對(duì)象的引用。
模式的使用場(chǎng)景
就是一個(gè)人或機(jī)構(gòu)代表另一個(gè)人或機(jī)構(gòu)采取行動(dòng)。在一些情況下,一個(gè)客戶不想或者不能直接引用一個(gè)對(duì)象,而代理對(duì)象可以在客戶端和目標(biāo)對(duì)象之間起到中介的作用。
角色介紹
● 抽象對(duì)象角色:聲明了目標(biāo)對(duì)象和代理對(duì)象的共同接口,這樣一來在任何可以使用目標(biāo)對(duì)象的地方都可以使用代理對(duì)象。
● 目標(biāo)對(duì)象角色:定義了代理對(duì)象所代表的目標(biāo)對(duì)象。
● 代理對(duì)象角色:代理對(duì)象的內(nèi)部含有目標(biāo)對(duì)象的引用,從而可以在任何時(shí)候操作目標(biāo)對(duì)象;代理對(duì)象提供一個(gè)與目標(biāo)對(duì)象相同的接口,以便可以在任何時(shí)候替代目標(biāo)對(duì)象。代理對(duì)象通常在客戶端調(diào)用傳遞給目標(biāo)對(duì)象之前或之后,執(zhí)行某個(gè)操作,而不是單純的將調(diào)用傳遞給目標(biāo)對(duì)象。
優(yōu)點(diǎn)與缺點(diǎn)
優(yōu)點(diǎn)
給對(duì)象增加了本地化的擴(kuò)展性,增加了存取操作控制
缺點(diǎn)
會(huì)產(chǎn)生多余的代理類