java设计模式之中介者模式
发布时间:2020-12-14 04:41:11 所属栏目:百科 来源:网络整理
导读:中介者模式的定义: 中结者模式又叫作调解者模式或调停者模式。用一个中介对象封装一系列对象交互,中介者使各对象不需要显示地相互作用, 从而使其耦合松散,而且可以独立得改变它们之间得交互,属于行为型设计模式。 中介者模式得应用场景: 系统中对象之
中介者模式的定义:中结者模式又叫作调解者模式或调停者模式。用一个中介对象封装一系列对象交互,中介者使各对象不需要显示地相互作用, 从而使其耦合松散,而且可以独立得改变它们之间得交互,属于行为型设计模式。 中介者模式得应用场景:
中介者模式的UML类图:?由上图可以看到,中介者模式主要包含4个角色。
使用中介者模式设计群聊场景:假设我们需要构建一个聊天室系统,用户可以向聊天室发送消息,聊天室会向所有用户显示消息。实际上就是用户发消息 与聊天室显示的通信过程,不过用户无法直接将信息发给聊天室,而需要将信息先发到服务器上,然后服务器再将该消息发给 聊天室进行显示,具体代码如下。首先创建User类。 public class User {
private String name;
private ChatRoom chatRoom;
public User(String name,ChatRoom chatRoom) {
this.name = name;
this.chatRoom = chatRoom;
}
public String getName() {
return name;
}
public void sendMessage(String msg){
this.chatRoom.showMsg(this,msg);
}
}
然后创建ChatRoom类。 public class ChatRoom { void showMsg(User user,String msg){ System.out.println("[" + user.getName() + "] : " + msg); } } 最后编写测试代码。 Test { static main(String[] args) { ChatRoom chatRoom = new ChatRoom(); User tom = new User("Tom",chatRoom); User jerry = new User("Jerry"); jerry.sendMessage("Hello! My name is Jerry."); } } 中介者模式的优点:
中介者模式的缺点:中介者模式将原本多个对象直接的相互依赖变成了中介者和多个同事类的依赖关系。 当同事类越多时,中介者就会臃肿,变得复杂且难以维护。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |