国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

設(shè)計(jì)模式——代理

2019-11-14 22:04:51
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
設(shè)計(jì)模式——代理

代理模式的作用是:為其它對(duì)象提供一種代理以控制對(duì)這個(gè)對(duì)象的訪問。在某些情況下,一 個(gè)客戶不想直接引用另一個(gè)對(duì)象,而代理對(duì)象可以在客戶端和目標(biāo)對(duì)象之間起到中介作用。 代理模式一般涉及到三個(gè)角色:

  1. 抽象角色:聲明真實(shí)對(duì)象和代理對(duì)象的共同接口
  2. 代理角色:代理對(duì)象內(nèi)部包含有真實(shí)角色的引用,從而可以操作真實(shí)角色,同時(shí)代理對(duì)象 與真實(shí)對(duì)象有相同的接口,能在任何時(shí)候代替真實(shí)對(duì)象,同時(shí)代理對(duì)象可以在執(zhí)行真實(shí)對(duì) 象前后加入特定的邏輯以實(shí)現(xiàn)功能的擴(kuò)展。
  3. 真實(shí)角色:代理角色所代表的真實(shí)對(duì)象,是我們最終要引用的對(duì)象

以下以《java與模式》中的示例為例:

// 抽象角色:abstract public class Subject {    abstract public void  request();}// 真實(shí)角色:實(shí)現(xiàn)了Subject的request()方法public class  RealSubject  extends  Subject  {  public  RealSubject()  { }  public void  request()  {     System.out.
由以上代碼可以看出,客戶實(shí)際需要調(diào)用的是RealSubject類的request()方法,現(xiàn)在用 ProxySubject來(lái)代理 RealSubject類,同樣達(dá)到目的,同時(shí)還封裝了其他方法 (preRequest(),postRequest()),可以處理一些其他問題。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 横峰县| 封丘县| 玉树县| 重庆市| 万年县| 龙南县| 万盛区| 天门市| 鱼台县| 山阳县| 甘洛县| 南陵县| 常山县| 吴江市| 黄冈市| 西藏| 济阳县| 华容县| 比如县| 大宁县| 大兴区| 汉中市| 乌兰浩特市| 宜宾市| 三门峡市| 扎囊县| 滕州市| 林西县| 肃南| 井冈山市| 马鞍山市| 开化县| 武安市| 略阳县| 遂昌县| 澄迈县| 开阳县| 蒙阴县| 合川市| 永春县| 和顺县|