中介者模式 妖狐艹你老母 2021-12-09 00:53 232阅读 0赞 ## 一、前言 ## **中介模式(Mediator)**,用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式的相互引用,从而使其耦合松散,而且可以独立地改变他们之间的交互。 ## 二、抽象中介类 ## 1 //联合国机构 2 public abstract class UnitedNations 3 { 4 public abstract void Declare(string message, Country colleague); 5 } ## 三、中介具体类 ## 1 //联合国安理会 2 public class UnitedNationsSecurtiy : UnitedNations 3 { 4 private USA colleague1; 5 private Iraq colleaque2; 6 //美国 7 public USA Colleaque1 8 { 9 set { colleague1 = value; } 10 } 11 //伊拉克 12 public Iraq Colleaque2 13 { 14 set { colleaque2 = value; } 15 } 16 //声明 17 public override void Declare(string message, Country colleague) 18 { 19 if (colleague == colleague1) 20 { 21 colleaque2.GetMessage(message); 22 } 23 else 24 { 25 colleague1.GetMessage(message); 26 } 27 } 28 } ## 四、抽象国家类 ## 1 //国家类 2 public abstract class Country 3 { 4 protected UnitedNations mediator; 5 public Country(UnitedNations mediator) 6 { 7 this.mediator = mediator; 8 } 9 } ## 五、具体的国家类 ## 1 public class USA : Country 2 { 3 public USA(UnitedNations mediator) : base(mediator) 4 { 5 } 6 //声明 7 public void Declare(string message) 8 { 9 mediator.Declare(message,this); 10 } 11 //获得消息 12 public void GetMessage(string message) 13 { 14 Console.WriteLine("USA获得对方信息:" + message); 15 } 16 } 17 public class Iraq : Country 18 { 19 public Iraq(UnitedNations mediator) : base(mediator) 20 { 21 } 22 //声明 23 public void Declare(string message) 24 { 25 mediator.Declare(message, this); 26 } 27 //获得消息 28 public void GetMessage(string message) 29 { 30 Console.WriteLine("Iraq获得对方信息:" + message); 31 } 32 } ## 六、总结 ## 1、Mediator的出现减少了各个Colleague(国家)的耦合,使得可以独立地改变和复用各个Colleague类和Mediator。 2、由于把对象如何写作坐了抽象,将中介作为一个独立的概念并将其封装在一个对象中,这样关注的对象就从对象各自本省的行为转移到他们之间的交互上来,也就站在更宏观的角度去看待系统。 3、由于ConcreteMediator控制了集中化,于是就把交互复杂性变为了中介者的复杂性,这就使得中介者会变得比任何一个ConcreteColleague都复杂。 ** 参考数据:**大话设计模式
相关 java 中介者模式_java中介者模式 中介者模式也是用来降低类类之间的耦合的,因为如果类类之间有依赖关系的话,不利于功能的拓展和维护,因为只要修改一个对象,其它关联的对象都得进行修改。如果使用中介者模式,只需关心和 小咪咪/ 2022年11月06日 10:50/ 0 赞/ 177 阅读
相关 中介者模式 一、什么是中介者模式 Mediator模式也叫中介者模式,是由GoF提出的23种软件设计模式的一种。Mediator模式是行为模式之一,在Mediat 小鱼儿/ 2022年07月28日 09:00/ 0 赞/ 33 阅读
相关 中介者模式 中介者模式 一、概述 1. 如果一个系统中对象之间的联系呈现为网状结构,对象之间存在大量多对多关系,将导致关系极其复杂,这些对象称为同事对象 2. 我们可以引入 曾经终败给现在/ 2022年04月18日 06:29/ 0 赞/ 215 阅读
相关 中介者模式 > 中介者模式适用于,完成一件事情,需要多方面协同合作,而多方面之间的耦合性较紧密 有一个场景 采购部门要采购IBM的电脑,它根据以下两个要素来决定采购数量。 销售 Love The Way You Lie/ 2022年03月14日 15:42/ 0 赞/ 249 阅读
相关 中介者模式 ![1365950-20190529141650092-1838345438.png][] / 中介者模式:中介在生活中是很常见的,如房屋中介,使用了中介 柔光的暖阳◎/ 2021年12月21日 12:25/ 0 赞/ 258 阅读
相关 中介者模式 中介者模式:调停者模式 定义:用一个中介对象来封装一系列的对象交互,中介者使各对象不需要相互引用,从而使其耦合松散,还可以独立地改变它们之间的交互。 中介者的职责:中转作用 不念不忘少年蓝@/ 2021年12月17日 13:55/ 0 赞/ 212 阅读
相关 中介者模式 一、前言 中介模式(Mediator),用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式的相互引用,从而使其耦合松散,而且可以独立地改变他们之间的交互。 妖狐艹你老母/ 2021年12月09日 00:53/ 0 赞/ 233 阅读
相关 中介者模式 中介者模式:用一个对象来封装一系列对象的交互。中介者使各对象不需要显示的相互引用,从而使得耦合松散,而且可以独立的改变他们之间的交互。 主要解决:对象与对象之间存在大量的关联 ゞ 浴缸里的玫瑰/ 2021年09月17日 04:42/ 0 赞/ 261 阅读
相关 中介者模式 22.中介者模式 public abstract class AbstractCardPartner// 抽象牌友类 { 分手后的思念是犯贱/ 2021年09月17日 00:08/ 0 赞/ 314 阅读
相关 中介者模式 一 点睛 一般来说,同事类之间的关系是比较复杂的,多个同事类之间互相关联时,他们之间的关系会呈现为复杂的网状结构,这是一种过度耦合的架构,即不利于类的复用,也不稳定。例如 悠悠/ 2021年07月24日 21:38/ 0 赞/ 376 阅读
还没有评论,来说两句吧...