中介者模式 柔光的暖阳◎ 2021-12-21 12:25 247阅读 0赞 ![1365950-20190529141650092-1838345438.png][] /** * 中介者模式:中介在生活中是很常见的,如房屋中介,使用了中介模式后,普通对象之间的交流就通过中介来进行,避免了相互进行依赖 * 模式特点:一个中介接口和其实现类,该实现类拥有所有的普通对象的引用 * 每个普通对象都引用一个中介对象 * */ //中介接口 public interface IAgent { //登记用户 void register(Pseron pseron); /** * 传递消息 * @param message 消息内容 * @param from 消息来源的用户名,如房东还是租户 */ void forward(String message,String from); } //房屋中介 public class HouseAgent implements IAgent { private List<Pseron> list=new ArrayList<>(); //所有的用户 @Override public void register(Pseron pseron) { if(!list.contains(pseron)){ list.add(pseron); pseron.linkAgent(this); } } @Override public void forward(String message,String fromName) { for (Pseron pseron : list) { if(!pseron.name.equals(fromName)){ //传递消息给其他人 pseron.receive(message); } } } } //用户,拥有发送消息和接收消息,以及绑定中介的方法 public abstract class Pseron { protected String name; abstract void send(String message); abstract void receive(String message); abstract void linkAgent(IAgent agent); } //房东 public class HouseOwer extends Pseron { private IAgent agent; public HouseOwer(String name) { this.name = name; } @Override void send(String message) { agent.forward(message,this.name); } @Override void receive(String message) { System.out.println(message); System.out.println("我是房东:我有房出租"); } //绑定中介对象 @Override void linkAgent(IAgent agent) { this.agent=agent; } } //租客 public class Renter extends Pseron { private IAgent agent; public Renter(String name) { this.name = name; } @Override void send(String message) { agent.forward(message,this.name); } @Override void receive(String message) { System.out.println(message); System.out.println("我是房客,我要租房"); } //绑定中介对象 @Override void linkAgent(IAgent agent) { this.agent=agent; } } public class Test { public static void main(String[] args) { HouseOwer houseOwer = new HouseOwer("房东");//房东 Renter renter = new Renter("租客");//租客 HouseAgent houseAgent = new HouseAgent(); houseAgent.register(houseOwer); houseAgent.register(renter); renter.send("我是房客:请问谁有房子出租"); houseOwer.send("我是房东:有单间出租"); } } 转载于:https://www.cnblogs.com/yangxiaohui227/p/10943629.html [1365950-20190529141650092-1838345438.png]: /images/20211220/254e722c51f74a79addd5bd96de0f046.png
相关 java 中介者模式_java中介者模式 中介者模式也是用来降低类类之间的耦合的,因为如果类类之间有依赖关系的话,不利于功能的拓展和维护,因为只要修改一个对象,其它关联的对象都得进行修改。如果使用中介者模式,只需关心和 小咪咪/ 2022年11月06日 10:50/ 0 赞/ 166 阅读
相关 中介者模式 一、什么是中介者模式 Mediator模式也叫中介者模式,是由GoF提出的23种软件设计模式的一种。Mediator模式是行为模式之一,在Mediat 小鱼儿/ 2022年07月28日 09:00/ 0 赞/ 21 阅读
相关 中介者模式 中介者模式 一、概述 1. 如果一个系统中对象之间的联系呈现为网状结构,对象之间存在大量多对多关系,将导致关系极其复杂,这些对象称为同事对象 2. 我们可以引入 曾经终败给现在/ 2022年04月18日 06:29/ 0 赞/ 203 阅读
相关 中介者模式 > 中介者模式适用于,完成一件事情,需要多方面协同合作,而多方面之间的耦合性较紧密 有一个场景 采购部门要采购IBM的电脑,它根据以下两个要素来决定采购数量。 销售 Love The Way You Lie/ 2022年03月14日 15:42/ 0 赞/ 232 阅读
相关 中介者模式 ![1365950-20190529141650092-1838345438.png][] / 中介者模式:中介在生活中是很常见的,如房屋中介,使用了中介 柔光的暖阳◎/ 2021年12月21日 12:25/ 0 赞/ 248 阅读
相关 中介者模式 中介者模式:调停者模式 定义:用一个中介对象来封装一系列的对象交互,中介者使各对象不需要相互引用,从而使其耦合松散,还可以独立地改变它们之间的交互。 中介者的职责:中转作用 不念不忘少年蓝@/ 2021年12月17日 13:55/ 0 赞/ 201 阅读
相关 中介者模式 一、前言 中介模式(Mediator),用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式的相互引用,从而使其耦合松散,而且可以独立地改变他们之间的交互。 妖狐艹你老母/ 2021年12月09日 00:53/ 0 赞/ 223 阅读
相关 中介者模式 中介者模式:用一个对象来封装一系列对象的交互。中介者使各对象不需要显示的相互引用,从而使得耦合松散,而且可以独立的改变他们之间的交互。 主要解决:对象与对象之间存在大量的关联 ゞ 浴缸里的玫瑰/ 2021年09月17日 04:42/ 0 赞/ 246 阅读
相关 中介者模式 22.中介者模式 public abstract class AbstractCardPartner// 抽象牌友类 { 分手后的思念是犯贱/ 2021年09月17日 00:08/ 0 赞/ 299 阅读
相关 中介者模式 一 点睛 一般来说,同事类之间的关系是比较复杂的,多个同事类之间互相关联时,他们之间的关系会呈现为复杂的网状结构,这是一种过度耦合的架构,即不利于类的复用,也不稳定。例如 悠悠/ 2021年07月24日 21:38/ 0 赞/ 369 阅读
还没有评论,来说两句吧...