当前位置: 首页 > news >正文

沈阳网站公司哪个好西宁网站建设建站

沈阳网站公司哪个好,西宁网站建设建站,淘宝官网首页手机版,网站建设特效代码代表模式(Mediator Pattern)是一种行为型设计模式,它通过封装一组对象之间的交互方式,使得这些对象之间的通信变得松散耦合,从而降低了对象之间的直接依赖关系。代表模式通过引入一个中介者(Mediator&#…

代表模式(Mediator Pattern)是一种行为型设计模式,它通过封装一组对象之间的交互方式,使得这些对象之间的通信变得松散耦合,从而降低了对象之间的直接依赖关系。代表模式通过引入一个中介者(Mediator)对象,将对象之间的通信集中处理,从而减少了对象之间的相互依赖,使得系统更加灵活和可扩展。

在代表模式中,中介者对象充当了对象之间的调度者和协调者的角色,它封装了对象之间的通信逻辑,负责接收和发送消息,并将消息传递给相关的对象。对象之间不再直接相互引用,而是通过中介者对象进行通信,从而达到松散耦合的效果。

以下是一个示例,展示了代表模式的应用场景和代码实现:

// 中介者接口
interface Mediator {void sendMessage(String message, Colleague colleague);
}// 具体中介者
class ConcreteMediator implements Mediator {private Colleague colleague1;private Colleague colleague2;public void setColleague1(Colleague colleague1) {this.colleague1 = colleague1;}public void setColleague2(Colleague colleague2) {this.colleague2 = colleague2;}@Overridepublic void sendMessage(String message, Colleague colleague) {if (colleague == colleague1) {colleague2.receiveMessage(message);} else if (colleague == colleague2) {colleague1.receiveMessage(message);}}
}// 抽象同事类
abstract class Colleague {protected Mediator mediator;public Colleague(Mediator mediator) {this.mediator = mediator;}public abstract void send(String message);public abstract void receiveMessage(String message);
}// 具体同事类
class ConcreteColleague1 extends Colleague {public ConcreteColleague1(Mediator mediator) {super(mediator);}@Overridepublic void send(String message) {mediator.sendMessage(message, this);}@Overridepublic void receiveMessage(String message) {System.out.println("ConcreteColleague1 received message: " + message);}
}// 具体同事类
class ConcreteColleague2 extends Colleague {public ConcreteColleague2(Mediator mediator) {super(mediator);}@Overridepublic void send(String message) {mediator.sendMessage(message, this);}@Overridepublic void receiveMessage(String message) {System.out.println("ConcreteColleague2 received message: " + message);}
}// 测试代码
public class MediatorPatternExample {public static void main(String[] args) {ConcreteMediator mediator = new ConcreteMediator();ConcreteColleague1 colleague1 = new ConcreteColleague1(mediator);ConcreteColleague2 colleague2 = new ConcreteColleague2(mediator);mediator.setColleague1(colleague1);mediator.setColleague2(colleague2);colleague1.send("Hello from colleague1!");colleague2.send("Hi from colleague2!");}
}

在上面的示例中,Mediator 接口定义了中介者的操作,ConcreteMediator 是具体的中介者实现。Colleague 是抽象同事类,ConcreteColleague1ConcreteColleague2 是具体的同事类实现。

MediatorPatternExample 类中,我们创建了一个中介者对象 ConcreteMediator,并创建了两个同事对象 ConcreteColleague1ConcreteColleague2。然后,通过调用 setColleague1setColleague2 方法将同事对象注册到中介者中。

最后,我们通过调用同事对象的 send 方法发送消息,消息会经过中介者进行转发,最终到达目标同事对象,从而实现了对象之间的通信。

推荐一个ChatGPT使用渠道:点击直达
http://www.yayakq.cn/news/153482/

相关文章:

  • 一个外国人做汉字网站ip做网站域名
  • 潮流资讯类网站建设策划宠物网站项目
  • 宁波做网站首荐荣盛网络佛山 网站设计公司
  • 中国建设银行个人网站银行浩方网络网站建设
  • 网站服务器有哪些类型有哪些类型有哪些类型有哪些类型wordpress 翻译软件
  • 58同城网站模板网络推广有哪些途径
  • 垂直门户网站怎么做代理注册公司怎么找
  • 大连做网站开发的公司深圳品牌建网站
  • 网站建设毕业设计摘要中国建设银行建银购网站
  • 做网站在哪里做公司做网站开发流程
  • 查网站开通时间百度广告投放平台叫什么
  • 做网站怎么保证商品是正品设计之家下载
  • 网站建设顶呱呱网站开发补充合同
  • 网站首页是什么意思企业建站电话多少
  • 建设电子书阅读网站网页设计做一个介绍自己的的网站
  • 运动鞋官方网站建设计划书网络推广的网站有哪些
  • 公司的网站建设注意点怎么做网站维护宣传
  • 网站建设的流程该怎么确定wordpress wp_loginout
  • 广州做网站公司seo销售话术开场白
  • 最新有限公司网站软件高端开发
  • 网站设计服务合同外贸建站效果
  • seo整站优化方案案例公司官网怎么弄
  • 网站开发需要用到的技术论文中小企业的网站建设
  • 珠海h5建站专门做当归的网站
  • 渭南做网站的公司电话做网站是不是要有数据库
  • 廊坊北京网站建设免费建站哪家有
  • 信阳做网站的公司江门网站制作费用
  • html5 网站开发语言如何比较网站
  • 皮革材料做网站怎样制作网站
  • 像wordpress一样的网站wordpress手机后台