成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

代理模式

Shihira / 1088人閱讀

摘要:代理模式,看這名字就知道重點(diǎn)是代理。所謂代理,可以理解為中介或者中間人例如小明喜歡一個(gè)好看的菇?jīng)龅缓靡馑迹业脚笥研∷{(lán)像好看菇?jīng)鏊投Y物。為了更好的解釋這個(gè),決定百度百科為其他對(duì)象提供一種代理以控制對(duì)這個(gè)對(duì)象的訪問。

代理模式,看這名字就知道重點(diǎn)是代理。所謂代理,可以理解為中介或者中間人
例如:小明喜歡一個(gè)好看的菇?jīng)龅缓靡馑迹业脚笥研∷{(lán)像好看菇?jīng)鏊投Y物。這個(gè)時(shí)候小藍(lán)就是這個(gè)代理

使用代理模式 需要了解三個(gè)東西

抽象角色: 接口或者抽象類要什么真實(shí)角色實(shí)現(xiàn)的業(yè)務(wù)方法(送花送禮物)

代理角色:實(shí)現(xiàn)抽象角色,是真實(shí)角色的代理,可以實(shí)現(xiàn)真實(shí)角色的實(shí)現(xiàn)的抽象方法,從而形成代理

真實(shí)角色:實(shí)現(xiàn)抽象角色的方法或者功能,讓代理角色實(shí)現(xiàn)這些功能

代碼如下:

抽象角色
interface GiveGift {
? ?void Give();
? ?void GiveDolls();
? ?void GiveFlowers();
? ?void GiveChocolate();
}

代理角色
public class Proxy implements GiveGift {
? ?Pursuit pursuit = null;
? ?public Proxy(SchoolGirl mm){
? ? ? ?this.pursuit = new Pursuit(mm);
? }
? ?@Override
? ?public void Give() {
? ? ? ?pursuit.Give();
? }
? ?@Override
? ?public void GiveDolls() {
? ? ? ?pursuit.GiveDolls();
? }
? ?@Override
? ?public void GiveFlowers() {
? ? ? ?pursuit.GiveFlowers();
? }
? ?@Override
? ?public void GiveChocolate() {
? ? ? ?pursuit.GiveChocolate();
? }
}

真實(shí)角色
public class Pursuit implements GiveGift {
? ?SchoolGirl schoolGirl = null;
? ?public Pursuit( SchoolGirl schoolGirl ){
? ? ? ?this.schoolGirl = schoolGirl;
? }
? ?@Override
? ?public void Give() {
? ? ? ?System.out.println("喜歡的女孩-->"+schoolGirl.getName());
? }
? ?@Override
? ?public void GiveDolls() {
? ? ? ?System.out.println("送洋娃娃");
? }
? ?@Override
? ?public void GiveFlowers() {
? ? ? ?System.out.println("送你鮮花");
? }
? ?@Override
? ?public void GiveChocolate() {
? ? ? ?System.out.println("送你巧克力");
? }
}
這是一個(gè)好看的菇?jīng)?br>public class SchoolGirl {
? ?private String name;
? ?public String getName() {
? ? ? ?return name;
? }
? ?public void setName(String name) {
? ? ? ?this.name = name;
? }
}
在main方法中實(shí)現(xiàn)
? SchoolGirl schoolGirl = new SchoolGirl();
? ? ? ?schoolGirl.setName("好看菇?jīng)?);
? ? ? ?Proxy proxy = new Proxy(schoolGirl);
? ? ? ?proxy.Give();
? ? ? ?proxy.GiveChocolate();
? ? ? ?proxy.GiveDolls();
? ? ? ?proxy.GiveFlowers();
好看菇?jīng)鲈诓恢佬∶鞯那闆r下就通過小藍(lán)得到了小明的禮物。

為了更好的解釋這個(gè),決定百度百科
為其他對(duì)象提供一種代理以控制對(duì)這個(gè)對(duì)象的訪問。在某些情況下,一個(gè)對(duì)象不適合或者不能直接引用另一個(gè)對(duì)象,而代理對(duì)象可以在客戶端和目標(biāo)對(duì)象之間起到中介的作用。
優(yōu)點(diǎn)
(1).職責(zé)清晰
真實(shí)的角色就是實(shí)現(xiàn)實(shí)際的業(yè)務(wù)邏輯,不用關(guān)心其他非本職責(zé)的事務(wù),通過后期的代理完成一件完成事務(wù),附帶的結(jié)果就是編程簡潔清晰。
(2).代理對(duì)象可以在客戶端和目標(biāo)對(duì)象之間起到中介的作用,這樣起到了中介的作用和保護(hù)了目標(biāo)對(duì)象的作用。
(3).高擴(kuò)展性

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/70919.html

相關(guān)文章

  • 我的Java設(shè)計(jì)模式-代理模式

    摘要:下面總結(jié)了它倆的異同相同點(diǎn)都需要實(shí)現(xiàn)同一個(gè)接口或者繼承同一個(gè)抽象類,并且代理角色和裝飾角色都持有被代理角色和構(gòu)件角色的引用。 寫完上一篇之后有小伙伴問我有沒有寫過代理模式,想看看我的理解。原本我的設(shè)計(jì)模式系列是按照創(chuàng)建型-行為型-結(jié)構(gòu)型的順序?qū)懴氯サ?,既然小伙伴誠心誠意了,我就大發(fā)慈悲的穿插一篇代理模式。開玩笑,題外話。 說起代理模式,就不由得想起經(jīng)紀(jì)人,說起經(jīng)紀(jì)人,就想起了...對(duì),...

    BWrong 評(píng)論0 收藏0
  • 設(shè)計(jì)模式|代理模式

    摘要:三二模式分析代理模式的示意圖結(jié)構(gòu)比較簡單一般可以簡化如下圖所示。五總結(jié)在代理模式中,要求給某一個(gè)對(duì)象提供一個(gè)代理,并由代理對(duì)象控制對(duì)原對(duì)象的訪問,其英文為是一種結(jié)構(gòu)型模式。 一、寫在前面 代理模式是常用的結(jié)構(gòu)型設(shè)計(jì)模式之一、當(dāng)我們直接訪問某些對(duì)象存在問題時(shí)可以通過代理模式來間接訪問,為了保證客戶端使用的透明性、所訪問的真實(shí)對(duì)象和代理對(duì)象都必須實(shí)現(xiàn)同一個(gè)接口。 二、代理模式動(dòng)機(jī)與定義 某...

    QiShare 評(píng)論0 收藏0
  • 代理模式和裝飾者模式

    摘要:簡介代理模式和裝飾者模式是兩種常見的設(shè)計(jì)模式。這里通過構(gòu)造函數(shù)的參數(shù)將被代理對(duì)象傳入到代理中,也可以通過其它方式,如提供一個(gè)方法。下面是的代碼輸出首先依然是先創(chuàng)建一個(gè)需要被代理的對(duì)象,然后把它傳入到的構(gòu)造函數(shù)中。 簡介 代理模式和裝飾者模式是兩種常見的設(shè)計(jì)模式。代理模式是為其它對(duì)象提供一種代理以控制對(duì)這個(gè)對(duì)象的訪問。在某些情況下,一個(gè)對(duì)象不適合或者不能直接引用另一個(gè)對(duì)象,而代理對(duì)象可以...

    NusterCache 評(píng)論0 收藏0
  • js設(shè)計(jì)模式 --- 代理設(shè)計(jì)模式

    摘要:代理設(shè)計(jì)模式代理模式為其他對(duì)象提供一種代理以控制對(duì)這個(gè)對(duì)象的訪問。代理模式是常見的設(shè)計(jì)模式之一是指不直接調(diào)用實(shí)際的對(duì)象,而是通過代理對(duì)象,來間接的調(diào)用實(shí)際的對(duì)象。對(duì)象類定義了代理對(duì)象所代表的目標(biāo)對(duì)象。 代理設(shè)計(jì)模式 代理模式:為其他對(duì)象提供一種代理以控制對(duì)這個(gè)對(duì)象的訪問。代理模式是常見的設(shè)計(jì)模式之一,是指不直接調(diào)用實(shí)際的對(duì)象,而是通過代理對(duì)象,來間接的調(diào)用實(shí)際的對(duì)象。為什么要采用這種間...

    Tonny 評(píng)論0 收藏0
  • 深入理解代理模式

    摘要:代理模式代理類中創(chuàng)建一個(gè)真實(shí)對(duì)象的實(shí)例模式的核心裝飾者強(qiáng)調(diào)的是增強(qiáng)自身,在被裝飾之后你能夠在被增強(qiáng)的類上使用增強(qiáng)后的功能。 代理模式 在詳細(xì)了解代理模式之前,可能對(duì)于像小秋一樣的小白,只知道一些很淺顯的概念,或者就知道遠(yuǎn)程代理啊,靜態(tài)代理啊,動(dòng)態(tài)代理啊,這些看似可以望文生義的專業(yè)名詞,但是如果我告訴你代理模式貫穿了我們生活的方方面面,就比如你現(xiàn)在刷著公眾號(hào)的時(shí)候,實(shí)際上就用了遠(yuǎn)程代理模...

    testHs 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

Shihira

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<