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

电商网站建设需求人像摄影作品网站

电商网站建设需求,人像摄影作品网站,华为云建站视频教程,seo公司推荐概述 中介者模式#xff08;Mediator Pattern#xff09;是一种行为型设计模式#xff0c;它通过封装一系列对象之间的交互方式#xff0c;使这些对象能够互相通信而不需要直接相互引用。中介者模式通过集中控制对象的交互#xff0c;使得对象之间的耦合度降低#xff0…概述 中介者模式Mediator Pattern是一种行为型设计模式它通过封装一系列对象之间的交互方式使这些对象能够互相通信而不需要直接相互引用。中介者模式通过集中控制对象的交互使得对象之间的耦合度降低同时也提高了系统的可维护性和可扩展性。 主要角色 Mediator中介者定义了各个同事对象之间通信的接口通常包含一个或多个事件方法用于接收和发送消息。ConcreteMediator具体中介者实现了中介者接口负责协调各个同事对象之间的通信。具体中介者通常保存了各个同事对象之间的引用并根据具体的业务逻辑进行协调。Colleague同事定义了与其他同事对象通信的接口。ConcreteColleague具体同事实现了同事接口负责与其他同事对象进行通信。 优点 降低了对象之间的耦合性中介者模式将对象之间的通信逻辑集中到一个中介者对象中从而减少了对象之间的直接耦合使得对象之间的关系更加灵活和可扩展。便于维护和扩展由于中介者对象封装了对象之间的交互逻辑当系统需要新增或修改对象之间的交互行为时只需要修改中介者对象即可而不需要修改每个对象之间的引用关系。提供了集中控制中介者对象作为集中控制者可以更好地管理和调控对象之间的交互从而更好地实现业务逻辑的复杂性。 缺点 中介者对象过于庞大由于中介者对象需要处理多个对象之间的交互可能会导致中介者对象变得庞大和复杂难以维护。增加了系统复杂性中介者模式引入了一个额外的中介者对象使得系统中多了一个参与交互的角色增加了系统的复杂性。 使用场景 系统中存在多个对象之间的复杂交互并且对象之间的关系难以维护和理解。希望通过一个中心化的对象来集中管理和调控对象之间的交互逻辑。当一个对象的行为依赖于其他多个对象时可以使用中介者模式将对象之间的交互逻辑转移到中介者对象中。 示例 假设有一个聊天室系统其中包含多个用户用户之间可以发送消息进行交流。用户之间的通信交互较为复杂每个用户都需要了解其他用户的情况。这时可以使用中介者模式来解决。 首先定义中介者接口ChatMediator并在接口中定义发送消息的方法 public interface ChatMediator {void sendMessage(String message, User user); } 然后实现具体的中介者类ChatRoom负责协调用户之间的通信 import java.util.ArrayList; import java.util.List;public class ChatRoom implements ChatMediator {private ListUser users;public ChatRoom() {this.users new ArrayList();}Overridepublic void sendMessage(String message, User user) {for (User u : users) {if (u ! user) {u.receiveMessage(message);}}}public void addUser(User user) {users.add(user);} } 接下来定义用户接口User并在接口中定义发送和接收消息的方法 public interface User {void sendMessage(String message);void receiveMessage(String message); } 然后实现具体的用户类ChatUser负责实现用户接口并在实现类中保存中介者的引用 public class ChatUser implements User {private ChatMediator chatMediator;private String name;public ChatUser(ChatMediator chatMediator, String name) {this.chatMediator chatMediator;this.name name;}Overridepublic void sendMessage(String message) {chatMediator.sendMessage(message, this);}Overridepublic void receiveMessage(String message) {System.out.println(name received message: message);} } 最后我们可以创建聊天室对象和多个用户对象并让用户之间通过聊天室发送和接收消息 public class MediatorExample {public static void main(String[] args) {// 创建聊天室对象ChatRoom chatRoom new ChatRoom();// 创建用户对象User user1 new ChatUser(chatRoom, User1);User user2 new ChatUser(chatRoom, User2);User user3 new ChatUser(chatRoom, User3);// 添加用户到聊天室chatRoom.addUser(user1);chatRoom.addUser(user2);chatRoom.addUser(user3);// 用户发送消息user1.sendMessage(Hello, everyone!);user2.sendMessage(Hi, User1!);user3.sendMessage(Nice to meet you all!);} } 运行结果 User2 received message: Hello, everyone! User3 received message: Hello, everyone! User1 received message: Hi, User1! User3 received message: Hi, User1! User1 received message: Nice to meet you all! User2 received message: Nice to meet you all!
http://www.dnsts.com.cn/news/147837.html

相关文章:

  • 企业网站全屏轮播怎么做手机怎么建自己的网站
  • 美工做的好的网站ui设计的基本流程
  • 让做网站策划没经验怎么办wordpress全能播放器代码
  • 网站开发费计入什么科目宿迁住房和城乡建设部网站
  • 上海跨境电商网站开发公司排名网站建设 质量标准
  • 福田的网站建设公司开发小程序流程
  • 家具网站建设策划方案网站 可以做无形资产吗
  • 泸县手机网站建设网站设计需求表
  • 网站开发人员趋势网站开发的研究背景
  • 大连网站建设lccmwordpress 4.7.3 id
  • 贵州手机网站建设全球域名查询
  • 如何免费创建自己的网站平台思源黑体 wordpress
  • 如何将数据库导入网站wordpress微信机器人高级版 免费
  • 网页开发和网站开发做网站的创始人
  • 火锅料网站方案怎么做知名自助建站平台
  • 网站建设培训学费网站关键字描述
  • 连云港建网站小网站文案
  • 丹徒网站建设建e室内设计网官网平面图
  • 网站压缩网站程序更换
  • 网站添加flv视频代码北京青鸟培训机构哪家是正规的
  • 优仔电话手表网站经典wordpress网站
  • 苏州网站建设电话苏州市建设厅网站
  • 域名和空间网站雕塑网站模板
  • 建设部网站办事大厅网站备案包括哪些东西
  • 大兴企业官网网站建设报价部队门户网站建设方案
  • 怎样做国外网站推广升级wordpress无法创建目录
  • 怎样做淘宝商品链接导航网站微信小程序商店怎么开
  • 电商网站建设需要哪些技术网络优化与维护是做什么
  • 平凉网站设计网页图片不能保存怎么办
  • 网站建设有几种方式网站建设怎么汇报