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

景德镇市场建设局网站房地产新闻建发

景德镇市场建设局网站,房地产新闻建发,无锡网站seo报价,商城网站模块定义了一个中介对象来封装一系列对象之间的交互。中介者使各对象直接不再显示地相互引用,从而使其松散耦合,且可以独立地改变它们之间的交互。 通过引入一个中介者对象,来协调和封装多个对象之间的交互,从而降低他们之间的耦合度。…

定义了一个中介对象来封装一系列对象之间的交互。中介者使各对象直接不再显示地相互引用,从而使其松散耦合,且可以独立地改变它们之间的交互。

通过引入一个中介者对象,来协调和封装多个对象之间的交互,从而降低他们之间的耦合度。类似生活中我们遇到的房产中介,买家和卖家通过房产中介交互信息。

这里,我们通过一个聊天室系统示例来演示中介者。

定义中介者接口。

// 中介者接口
interface ChatMediator {void sendMessage(String msg, User user);void addUser(User user);
}

实现具体的中介者:聊天室。

// 具体中介者 - 聊天室实现
class ChatMediatorImpl implements ChatMediator {private List<User> users;public ChatMediatorImpl() {this.users = new ArrayList<>();}@Overridepublic void sendMessage(String msg, User user) {for (User u : this.users) {// 消息不应该被发送者接收到if (u != user) {u.receive(msg);}}}@Overridepublic void addUser(User user) {this.users.add(user);}
}

抽象用户类。

// 抽象用户类
abstract class User {protected ChatMediator mediator;protected String name;public User(ChatMediator med, String name) {this.mediator = med;this.name = name;}public abstract void send(String msg);public abstract void receive(String msg);
}

具体用户类。

// 具体同事类
class UserImpl extends User {public UserImpl(ChatMediator med, String name) {super(med, name);}@Overridepublic void send(String msg) {System.out.println(this.name + " 发送消息: " + msg);mediator.sendMessage(msg, this);}@Overridepublic void receive(String msg) {System.out.println(this.name + " 收到消息: " + msg);}
}

执行程序,测试结果输出。

// 测试类
public class MediatorPatternDemo {public static void main(String[] args) {ChatMediator mediator = new ChatMediatorImpl();User user1 = new UserImpl(mediator, "张三");User user2 = new UserImpl(mediator, "李四");User user3 = new UserImpl(mediator, "王五");User user4 = new UserImpl(mediator, "赵六");mediator.addUser(user1);mediator.addUser(user2);mediator.addUser(user3);mediator.addUser(user4);user1.send("大家好!");System.out.println();user3.send("今天天气不错!");}
}

可以看到,使用了中介者(Mediator)模式,有如下优势:

  • 降低了对象之间的耦合度,使得对象之间可以独立地改变和复用。

  • 将对象间的一对多关联转变为一对一的关联,使系统更易于理解和维护。

  • 有利于每个用户类之间的松耦合。

总结

中介者模式通过引入一个中介者对象,将多边关系变成多个双边关系,避免对象之间的高度耦合,简化系统结构。

http://www.dtcms.com/a/575633.html

相关文章:

  • 二手车网站开发背景万网搭建淘宝客网站
  • 做网站花多钱重庆网搜科技有限公司
  • 企业网站的基本内容和营销功能自动翻译网站软件
  • 外贸型网站制作山东坤泰建设集团网站
  • 网站备案黑名单企业所得税法
  • 做网站关键字网站开发制作的流程是什么
  • 没有备案号的网站wordpress暴力
  • 厦门php商城网站建设潍坊网站维护
  • 网站检测报告哪里做做网站要多少像素
  • 网站优化公司推荐开发公司自己买自己的商品房
  • 南京建站公司哪家好适合写个人博客的平台
  • 工程网站模板梧州网页设计师招聘
  • 什么公司可以做网站wordpress html后缀
  • 宠物发布网站模板宁波随身云网络科技有限公司
  • 汕头网站关键词排名百度下载app安装
  • CODESYS运动学笔记:Scara2模型机械臂可视化运动实例
  • 网站如何建设与安全wordpress批量移动产品
  • 梅县区住房和城乡规划建设局网站wordpress 如何登陆
  • 长沙建站找有为太极就治就上海城乡建设部网站首页
  • 电商网站 建设电子厂家网站建设
  • 做网站数据库多少钱最大的网站建设
  • 昌平网站开发做安卓开发要去看哪些网站
  • 网站模板怎么做做网站公司300元钱
  • 有没有专业做特产的网站乌克兰服装网站建设
  • 提供网站建设案例旅游业网站开发建设
  • 百度网站是怎么做的平面设计网站首页
  • 光辉网站建设做网站的备案
  • php做的网站建设网站开发 定制
  • C Primer Plus 12.9 编程练习
  • 设计网站客户体验那个网站可以做logo