各大网站提交入口网址空间中国网站
news/
2025/10/9 6:35:26/
文章来源:
各大网站提交入口网址,空间中国网站,网站建设策划书范文6篇,青岛网站制作需要多少钱中介者#xff08;Mediator#xff09;模式是一种行为设计模式#xff0c;它定义了一个对象来封装一组对象之间的交互。中介者对象负责控制和协调这些对象之间的交互#xff0c;使得这些对象不需要显式地相互引用#xff0c;从而降低它们之间的耦合。
以下是一个简单的中…中介者Mediator模式是一种行为设计模式它定义了一个对象来封装一组对象之间的交互。中介者对象负责控制和协调这些对象之间的交互使得这些对象不需要显式地相互引用从而降低它们之间的耦合。
以下是一个简单的中介者模式实现示例以一个简化版的聊天室应用为例
定义中介者接口
public interface ChatMediator {void sendMessage(String message, User user);void addUser(User user);
}实现中介者
public class ChatRoom implements ChatMediator {private ListUser users new ArrayList();Overridepublic void sendMessage(String message, User user) {for (User u : users) {if (u ! user) { // 不向发送者回送消息u.receiveMessage(message);}}}Overridepublic void addUser(User user) {users.add(user);}
}定义用户类
public class User {private String name;private ChatMediator mediator;public User(String name, ChatMediator mediator) {this.name name;this.mediator mediator;mediator.addUser(this);}public void sendMessage(String message) {mediator.sendMessage(message, this);}public void receiveMessage(String message) {System.out.println(name received: message);}
}使用示例
public class MediatorPatternDemo {public static void main(String[] args) {ChatMediator mediator new ChatRoom();User user1 new User(Alice, mediator);User user2 new User(Bob, mediator);User user3 new User(Charlie, mediator);user1.sendMessage(Hello, Bob!);user2.sendMessage(Hi, Alice! How are you?);user3.sendMessage(Hello, everyone!);}
}在这个示例中ChatRoom 是中介者负责转发消息给所有用户而 User 对象只需要知道如何发送和接收消息不需要知道其他用户的存在这样实现了用户之间的解耦。
当你运行 MediatorPatternDemo 的 main 方法时你会发现三个用户通过 ChatRoom 互相发送和接收消息而不需要直接交互。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/932227.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!