中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

關(guān)鍵詞的分類和優(yōu)化seo關(guān)鍵詞首頁排名代發(fā)

關(guān)鍵詞的分類和優(yōu)化,seo關(guān)鍵詞首頁排名代發(fā),男女做爰網(wǎng)站,網(wǎng)頁制作教程免費(fèi)下載🚀簡介 又叫調(diào)停模式,定義一個(gè)中介角色來封裝一系列對象之間的交互,使原有對象之間的耦合松散,且可以獨(dú)立地改變它們之間的交互。 從下右圖中可以看到,任何一個(gè)類的變 動(dòng),只會(huì)影響的類本身,以及…

🚀簡介

又叫調(diào)停模式,定義一個(gè)中介角色來封裝一系列對象之間的交互,使原有對象之間的耦合松散,且可以獨(dú)立地改變它們之間的交互。
從下右圖中可以看到,任何一個(gè)類的變 動(dòng),只會(huì)影響的類本身,以及中介者,這樣就減小了系統(tǒng)的耦合。一個(gè)好的設(shè)計(jì),必定不會(huì)把所有的對象關(guān)系處理邏輯封裝在本類中,而是使用一個(gè)專門的類來管理那些不屬于自己的行為。

?

中介者模式包含以下主要角色:
  1. 抽象中介者(Mediator)角色:它是中介者的接口,提供了同事對象注冊與轉(zhuǎn)發(fā)同事對象信息的抽象方法。
  2. 具體中介者(ConcreteMediator)角色:實(shí)現(xiàn)中介者接口,定義一個(gè) List 來管理同事對象,協(xié)調(diào)各個(gè)同事角色之間的交互關(guān)系,因此它依賴于同事角色。
  3. 抽象同事類(Colleague)角色:定義同事類的接口,保存中介者對象,提供同事對象交互的抽象方法,實(shí)現(xiàn)所有相互影響的同事類的公共功能。
  4. 具體同事類(Concrete Colleague)角色:是抽象同事類的實(shí)現(xiàn)者,當(dāng)需要與其他同事對象交互時(shí),由中介者對象負(fù)責(zé)后續(xù)的交互。

🚀案例

現(xiàn)在租房基本都是通過房屋中介,房主將房屋托管給房屋中介,而租房者從房屋中介獲取房屋信息。房屋中介充當(dāng)租房者與房屋所有者之間的中介者。下面我們用代碼來舉例一下
🐤抽象中介者( Mediator )角色
public abstract class Mediator
{//聲明一個(gè)聯(lián)絡(luò)方法public abstract void Contact(string message, Person person);
}

🐤具體中介者(ConcreteMediator)角色

MediatorStructure類是一個(gè)中介者,它有兩個(gè)屬性,一個(gè)是房主(HouseOwner),一個(gè)是租客(Tenant)。當(dāng)房主和租客需要通信時(shí),他們不直接通信,而是通過MediatorStructure這個(gè)中介者來傳遞信息。

Contact方法是中介者的核心方法,它接收兩個(gè)參數(shù),一個(gè)是消息內(nèi)容,一個(gè)是發(fā)送消息的人。如果發(fā)送消息的人是房主,那么這個(gè)消息就會(huì)被傳遞給租客;如果發(fā)送消息的人是租客,那么這個(gè)消息就會(huì)被傳遞給房主。這樣就實(shí)現(xiàn)了房主和租客之間的間接通信。

public class MediatorStructure : Mediator
{public HouseOwner houseOwner { get; set; }public Tenant tenant { get; set; }public override void Contact(string message, Person person){if (person == houseOwner){tenant.GetMessage(message);}else{houseOwner.GetMessage(message);}}
}

🐤抽象同事類(Colleague)角色

public abstract class Person
{protected string name;protected Mediator mediator;public Person(string name, Mediator mediator){this.name = name;this.mediator = mediator;}
}

🐤具體同事類(Concrete Colleague)角色

HouseOwner(房屋擁有者)和Tenant(承租人)。這兩個(gè)類都繼承自Person類,并且都有一個(gè)Mediator類型的成員變量,用于與中介者進(jìn)行通信。

HouseOwner類有兩個(gè)方法,一個(gè)是Contact,用于與中介者聯(lián)系,另一個(gè)是GetMessage,用于獲取信息。在Contact方法中,會(huì)調(diào)用mediator的Contact方法,將自己和消息傳遞給中介者。在GetMessage方法中,會(huì)打印出自己獲取到的信息。

//具體同事類 房屋擁有者
public class HouseOwner : Person
{public HouseOwner(string name, Mediator mediator) : base(name, mediator) { }//與中介者聯(lián)系public void Contact(string message){mediator.Contact(message, this);}//獲取信息public void GetMessage(string message){Console.WriteLine("房主" + name + "獲取到的信息:" + message);}
}//具體同事類 承租人
public class Tenant : Person
{public Tenant(string name, Mediator mediator) : base(name, mediator) { }//與中介者聯(lián)系public void Contact(string message){mediator.Contact(message, this);}//獲取信息public void GetMessage(string message){Console.WriteLine("租房者" + name + "獲取到的信息:" + message);}
}

👻測試類

在測試類中,有三個(gè)角色:房主(HouseOwner)、租戶(Tenant)和中介(Mediator)。房主和租戶都只需要知道中介即可,他們之間的所有交互都通過中介來進(jìn)行。

在Main函數(shù)中,首先創(chuàng)建了一個(gè)中介機(jī)構(gòu)(mediator),然后創(chuàng)建了一個(gè)名為張三的房主(houseOwner)和一個(gè)名為李四的租戶(tenant),他們都知道這個(gè)中介機(jī)構(gòu)。

然后,中介機(jī)構(gòu)需要知道房主和租戶,所以設(shè)置了mediator的houseOwner和tenant屬性。

class MyClass
{public static void Main(string[] args){//一個(gè)房主、一個(gè)租房者、//一個(gè)中介機(jī)構(gòu)MediatorStructure mediator = new MediatorStructure();//房主和租房者只需要知道中介機(jī)構(gòu)即可HouseOwner houseOwner = new HouseOwner("張三", mediator);Tenant tenant = new Tenant("李四", mediator);//中介結(jié)構(gòu)要知道房主和租房者mediator.houseOwner = houseOwner;mediator.tenant = tenant;tenant.Contact("需要租三室的房子");houseOwner.Contact("我這有三室的房子,你需要租嗎?");}
}

🐳運(yùn)行結(jié)果

🚀優(yōu)缺點(diǎn)

優(yōu)點(diǎn):
  1. 它支持以不同的方式遍歷一個(gè)聚合對象,在同一個(gè)聚合對象上可以定義多種遍歷方式。在迭代器模式中只需要用一個(gè)不同的迭代器來替換原有迭代器即可改變遍歷算法,我們也可以自己定義迭代器 的子類以支持新的遍歷方式。
  2. 迭代器簡化了聚合類。由于引入了迭代器,在原有的聚合對象中不需要再自行提供數(shù)據(jù)遍歷等方法,這樣可以簡化聚合類的設(shè)計(jì)。
  3. 在迭代器模式中,由于引入了抽象層,增加新的聚合類和迭代器類都很方便,無須修改原有代碼,滿足開閉原則的要求。
缺點(diǎn):
  1. 增加了類的個(gè)數(shù),這在一定程度上增加了系統(tǒng)的復(fù)雜性。
使用場景:
  1. 當(dāng)需要為聚合對象提供多種遍歷方式時(shí)。
  2. 當(dāng)需要為遍歷不同的聚合結(jié)構(gòu)提供一個(gè)統(tǒng)一的接口時(shí)。
  3. 當(dāng)訪問一個(gè)聚合對象的內(nèi)容而無須暴露其內(nèi)部細(xì)節(jié)的表示時(shí)。
http://www.risenshineclean.com/news/49871.html

相關(guān)文章:

  • 企業(yè)宣傳片文案大全北京網(wǎng)站優(yōu)化排名
  • 得物app公司域名seo查詢
  • 做網(wǎng)站baidunongmin南寧seo優(yōu)化公司
  • 做網(wǎng)站怎么插音樂循環(huán)西安網(wǎng)站制作價(jià)格
  • 互聯(lián)網(wǎng)站備案登記表石家莊網(wǎng)站建設(shè)排名
  • 專業(yè)杭州網(wǎng)站建設(shè)今日頭條新聞最新事件
  • 網(wǎng)站的排版好看點(diǎn)擊進(jìn)入官方網(wǎng)站
  • 濰坊網(wǎng)站定制 優(yōu)幫云谷歌搜索引擎入口2023
  • 浙江昆侖建設(shè)集團(tuán)網(wǎng)站seo技術(shù)培訓(xùn)沈陽
  • 域名年費(fèi)價(jià)格表新野seo公司
  • 代碼大全可復(fù)制武漢seo價(jià)格
  • 江蘇藝居建設(shè)有限公司網(wǎng)站如何做市場營銷推廣
  • 商城網(wǎng)站建設(shè)適合于哪類企業(yè)營業(yè)推廣促銷
  • 信息技術(shù)課做網(wǎng)站最近三天的新聞大事小學(xué)生
  • 用dw如何做網(wǎng)站首頁黑鋒網(wǎng)seo
  • 2024年1月流感情況百度網(wǎng)站怎么優(yōu)化排名
  • 長春網(wǎng)站seo報(bào)價(jià)廣告接單平臺(tái)app
  • 網(wǎng)站開發(fā)需要哪些知識(shí)南京seo按天計(jì)費(fèi)
  • 南寧網(wǎng)站建設(shè)培訓(xùn)班seoheuni
  • 包頭網(wǎng)站建設(shè)百度網(wǎng)頁版瀏覽器
  • 網(wǎng)站引量方法關(guān)鍵詞排名關(guān)鍵詞優(yōu)化
  • 網(wǎng)站建設(shè)g廣告主資源哪里找
  • 吉林省長春市長春網(wǎng)站建設(shè)哪家好百度快照查詢
  • 手機(jī)萬能瀏覽器汕頭seo不錯(cuò)
  • 深圳網(wǎng)站建設(shè)(信科網(wǎng)絡(luò))周口網(wǎng)站seo
  • 電商網(wǎng)站建設(shè)源碼做網(wǎng)絡(luò)銷售如何找客戶
  • 瀏覽器被病毒網(wǎng)站綁了怎么做武漢seo收費(fèi)
  • 常州網(wǎng)站建設(shè)博客網(wǎng)站
  • 上海高端品牌網(wǎng)站制作熱點(diǎn)新聞
  • 石家莊做網(wǎng)站建設(shè)的公司排名微信crm客戶管理系統(tǒng)