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

做书app下载网站有哪些内容百度小程序入口官网

做书app下载网站有哪些内容,百度小程序入口官网,本科自考是什么意思,王占山教授定义了一个中介对象来封装一系列对象之间的交互。中介者使各对象直接不再显示地相互引用,从而使其松散耦合,且可以独立地改变它们之间的交互。 通过引入一个中介者对象,来协调和封装多个对象之间的交互,从而降低他们之间的耦合度。…

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

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

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

定义中介者接口。

// 中介者接口
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/wzjs/354800.html

相关文章:

  • 精选南昌网站建设公司西安今日头条新闻
  • 有哪些做海报的网站网络营销论文题目
  • 吉林网站备案搜一搜搜索
  • 北京政府网官网seo排名优化教学
  • 广州品牌网站建设公司可靠的网站优化
  • wordpress调用导航菜单北京网络推广公司wyhseo
  • 网站如何调用微博属于网络营销的特点是
  • 一般网站建设用什么语言seo线下培训班
  • 设计汽车网站百度收录快的发帖网站
  • 老外做的汉语网站什么是搜索引擎营销?
  • 做网盟的网站必须备案云南优化公司
  • 广州做网站一般多少钱有没有免费的推广网站
  • 网站打开不了怎样做数据分析师
  • 企业网站建设方案案例关键词林俊杰无损下载
  • 云南做网站费用广告公司品牌营销推广
  • 广州品牌网站制作公司百度惠生活推广怎么收费
  • 佛山 顺德营销型网站设计百度点击优化
  • 如何查看网站备案兰州seo优化入门
  • 网站建设加推广搜索排名优化策划
  • 湛江网站营销今日热搜榜排名
  • 湖南建设长沙网站建设价格win7最好的优化软件
  • wordpress文字转图插件下载百度免费优化
  • 自己如何建网站济南网站优化公司
  • 网页设计公司理念焦作网站seo
  • 福建建设执业资格注册管理中心网站今天新闻头条新闻
  • 怎样把域名和做的网站连接最新消息新闻头条
  • 郑州文明网seo快速软件
  • 技术博客主题wordpress海洋seo
  • 说几个手机可以看的网站品牌广告语
  • 浙江建设职业继续教育学院网站淘宝推广运营