摘要:代理模式一代理模式定義為其他對(duì)象提供一種代理以控制對(duì)這種對(duì)象的訪問(wèn)二具體實(shí)現(xiàn)創(chuàng)建公共接口創(chuàng)建被代理類創(chuàng)建代理類調(diào)用輸出三優(yōu)缺點(diǎn)優(yōu)點(diǎn)職責(zé)清晰高擴(kuò)展性缺點(diǎn)對(duì)對(duì)象的請(qǐng)求速度變慢四源碼
代理模式
一. 代理模式 1.1 定義為其他對(duì)象提供一種代理以控制對(duì)這種對(duì)象的訪問(wèn).
二. 具體實(shí)現(xiàn) 2.1 創(chuàng)建公共接口public interface IProxy { void print(); }2.2 創(chuàng)建被代理類
public class ProxiedA implements IProxy{ @Override public void print() { System.out.println("proxiedA print ..."); } } public class ProxiedB implements IProxy{ @Override public void print() { System.out.println("proxiedB print ..."); } }2.3 創(chuàng)建代理類
public class Proxy implements IProxy{ private IProxy proxy; public Proxy(IProxy proxy){ this.proxy = proxy; } @Override public void print() { proxy.print(); } }2.4 調(diào)用
public static void main(String[] args) { IProxy proxy = new Proxy(new ProxiedA()); proxy.print(); proxy = new Proxy(new ProxiedB()); proxy.print(); }2.5 輸出
proxiedA print ... proxiedB print ...三. 優(yōu)缺點(diǎn) 3.1 優(yōu)點(diǎn)
職責(zé)清晰.
高擴(kuò)展性.
3.2 缺點(diǎn)對(duì)對(duì)象的請(qǐng)求速度變慢.
四. 源碼https://github.com/Seasons20/DisignPattern.git
END
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/69523.html
摘要:動(dòng)態(tài)代理又被稱為代理或接口代理。靜態(tài)代理在編譯時(shí)產(chǎn)生字節(jié)碼文件,可以直接使用,效率高。代理無(wú)需實(shí)現(xiàn)接口,通過(guò)生成類字節(jié)碼實(shí)現(xiàn)代理,比反射稍快,不存在性能問(wèn)題,但會(huì)繼承目標(biāo)對(duì)象,需要重寫(xiě)方法,所以目標(biāo)對(duì)象不能為類。 一、代理模式介紹 代理模式是一種設(shè)計(jì)模式,提供了對(duì)目標(biāo)對(duì)象額外的訪問(wèn)方式,即通過(guò)代理對(duì)象訪問(wèn)目標(biāo)對(duì)象,這樣可以在不修改原目標(biāo)對(duì)象的前提下,提供額外的功能操作,擴(kuò)展目標(biāo)對(duì)象的功...
摘要:虛擬代理延遲執(zhí)行虛擬代理的目的,是將開(kāi)銷(xiāo)大的運(yùn)算延遲到需要時(shí)再執(zhí)行。 showImg(https://segmentfault.com/img/bVbuitm?w=800&h=600); 代理模式:為一個(gè)對(duì)象提供一個(gè)代用品或占位符,以便控制它的訪問(wèn)。 當(dāng)我們不方便直接訪問(wèn)某個(gè)對(duì)象時(shí),或不滿足需求時(shí),可考慮使用一個(gè)替身對(duì)象來(lái)控制該對(duì)象的訪問(wèn)。替身對(duì)象可對(duì)請(qǐng)求預(yù)先進(jìn)行處理,再?zèng)Q定是否轉(zhuǎn)交給...
時(shí)間:2017年08月28日星期一說(shuō)明:本文部分內(nèi)容均來(lái)自慕課網(wǎng)。@慕課網(wǎng):http://www.imooc.com教學(xué)源碼:https://github.com/zccodere/s...學(xué)習(xí)源碼:https://github.com/zccodere/s... 第一章:代理模式 1-1 概念介紹 學(xué)習(xí)本課程基礎(chǔ) 面向?qū)ο蟮脑O(shè)計(jì)思維 了解多態(tài)的概念 了解反射機(jī)制 課程目標(biāo) 代理模式基本概念及分類...
摘要:代理模式基本概念不論是靜態(tài)代理還是動(dòng)態(tài)代理其本質(zhì)都是代理模式的一種實(shí)現(xiàn)那么什么是代理模式呢代理模式即給某一個(gè)對(duì)象提供一個(gè)代理并由代理對(duì)象控制對(duì)原對(duì)象的引用代理模式其實(shí)取材于實(shí)際生活例如我們生活中常見(jiàn)的房屋租賃代理我們?cè)谧夥繒r(shí)一般不是直接和房 代理模式 基本概念 不論是靜態(tài)代理還是動(dòng)態(tài)代理, 其本質(zhì)都是代理模式的一種實(shí)現(xiàn), 那么什么是代理模式呢?代理模式, 即給某一個(gè)對(duì)象提供一個(gè)代理, ...
摘要:著名的代理模式例子為引用計(jì)數(shù)英語(yǔ)指針對(duì)象。是一個(gè)構(gòu)造函數(shù),是被代理的對(duì)象,是聲明了各類代理操作的對(duì)象,最終返回一個(gè)代理對(duì)象。在給一個(gè)目標(biāo)對(duì)象為構(gòu)造函數(shù)的代理對(duì)象構(gòu)造實(shí)例時(shí)觸發(fā)該操作,比如在執(zhí)行時(shí)。 所謂的代理者是指一個(gè)類別可以作為其它東西的接口。代理者可以作任何東西的接口:網(wǎng)絡(luò)連接、內(nèi)存中的大對(duì)象、文件或其它昂貴或無(wú)法復(fù)制的資源。 著名的代理模式例子為引用計(jì)數(shù)(英語(yǔ):reference...
摘要:此時(shí),鏈家起到的作用就是代理的作用。驗(yàn)證代理構(gòu)造函數(shù)第二個(gè)參數(shù)中的方法,可以很方便的驗(yàn)證向一個(gè)對(duì)象的傳值。 1 什么是代理模式 showImg(https://segmentfault.com/img/remote/1460000015800706?w=1262&h=464); 為其他對(duì)象提供一種代理以控制對(duì)這個(gè)對(duì)象的訪問(wèn)。在某些情況下,一個(gè)對(duì)象不適合或者不能直接引用另一個(gè)對(duì)象,而代理...
閱讀 1570·2023-04-26 02:29
閱讀 3054·2021-10-11 10:58
閱讀 2903·2021-10-08 10:16
閱讀 3162·2021-09-24 09:47
閱讀 1570·2019-08-29 16:56
閱讀 2722·2019-08-29 11:03
閱讀 2006·2019-08-26 13:35
閱讀 3174·2019-08-26 13:34