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

重庆网站运营公司唐山市城市建设档案馆网站

重庆网站运营公司,唐山市城市建设档案馆网站,哪些网站容易收录,保险网站建设公司中介者模式#xff08;Mediator Pattern#xff09;是一种行为型设计模式#xff0c;其主要作用是通过一个中介对象来封装一系列对象的交互#xff0c;从而降低它们之间的耦合度#xff0c;提高系统的可维护性和可扩展性。 中介者模式的主要特点 封装交互#xff1a;用…中介者模式Mediator Pattern是一种行为型设计模式其主要作用是通过一个中介对象来封装一系列对象的交互从而降低它们之间的耦合度提高系统的可维护性和可扩展性。 中介者模式的主要特点 封装交互用一个中介对象来封装一系列对象的交互这些对象不再直接相互引用而是通过中介者进行交互。降低耦合由于对象之间的交互被封装在中介者对象中因此它们之间的耦合度降低对象可以更加独立地变化和复用。集中控制多个对象之间的交互被封装在中介者对象中集中管理当交互行为发生变化时只需要修改中介者对象即可而不需要修改各个对象。一对多关联通过引入中介者对象将原本多个对象之间复杂的多对多关联关系转变为对象与中介者之间的一对多关联关系简化了系统的结构。 中介者模式的角色 中介者Mediator定义了一个接口用于与各同事对象进行通信。同事对象Colleague实现了一个接口该接口用于与中介者进行通信。同事对象之间不再直接相互引用而是通过中介者进行交互。 中介者模式的优缺点 优点 降低了对象之间的耦合度使得对象更加独立易于复用和维护。将对象间复杂的多对多关联关系转变为简单的一对多关联关系提高了系统的灵活性和可扩展性。集中控制交互行为使得修改和维护更加容易。 缺点 当同事对象数量较多时中介者对象可能会变得臃肿和复杂难以维护。如果中介者对象出现故障可能会导致整个系统崩溃。 适用场景 当系统中对象之间存在复杂的引用关系导致系统结构混乱且难以理解时。当需要创建一个运行于多个类之间的对象但又不想生成新的子类时。当需要改变系统的交互方式但又不希望修改现有的对象时。 示例 我们可以考虑一个简单的聊天室示例其中用户同事对象通过聊天室中介者进行通信。以下是这个示例的Java代码 // 同事接口 interface Colleague {void sendMessage(String message);void receiveMessage(String message);void setMediator(Mediator mediator); }// 用户类实现同事接口 class User implements Colleague {private Mediator mediator;private String name;public User(String name) {this.name name;}Overridepublic void sendMessage(String message) {mediator.sendMessage(this, message);}Overridepublic void receiveMessage(String message) {System.out.println(name received: message);}Overridepublic void setMediator(Mediator mediator) {this.mediator mediator;} }// 中介者接口 interface Mediator {void register(Colleague colleague);void sendMessage(Colleague sender, String message); }// 聊天室类实现中介者接口 class ChatRoom implements Mediator {private ListColleague colleagues new ArrayList();Overridepublic void register(Colleague colleague) {colleagues.add(colleague);colleague.setMediator(this);}Overridepublic void sendMessage(Colleague sender, String message) {for (Colleague colleague : colleagues) {if (!colleague.equals(sender)) {colleague.receiveMessage(sender.name : message);}}} }// 客户端代码 public class Client {public static void main(String[] args) {ChatRoom chatRoom new ChatRoom();User user1 new User(Alice);User user2 new User(Bob);chatRoom.register(user1);chatRoom.register(user2);user1.sendMessage(Hello, Bob! How are you?);} }在这个示例中我们定义了一个Colleague接口它包含了发送和接收消息的方法以及设置中介者的方法。User类实现了这个接口并包含了用户的名字。Mediator接口定义了注册同事和发送消息的方法。ChatRoom类实现了这个接口并管理了一个同事对象的列表。在ChatRoom的sendMessage方法中它遍历了所有的同事对象并将消息发送给除了发送者之外的所有其他同事。 在Client类中我们创建了一个ChatRoom对象和两个User对象并将它们注册到聊天室中。然后我们让Alice向Bob发送一条消息。当这条消息被发送时聊天室会将它转发给所有其他的用户在这个例子中只有Bob并打印出接收到的消息。
http://www.zqtcl.cn/news/292709/

相关文章:

  • 湛江公司做网站wordpress如何设置网站地图
  • wordpress攻防优化方案
  • 义乌市建设银行分行网站宜春静态管理
  • 企业网站优化电话17做网店类似网站
  • 南京网站建设黄页网站大全在线看免费
  • 网站开发过程记录定制西服
  • 长沙有哪些网站建设公司用vue做网站的实例
  • 购物网站模板 php网页设计图片剧中
  • 嘉峪关市建设局网站横沥镇网站建设公司
  • 查找网站软件培训记录
  • 注册网站安全吗制作人漫画
  • jeecms 怎么建设网站嵌入式软件开发兼职
  • 百度怎么自己做网站四川省建设工程交易中心网站
  • 中介如何做网站收客wordpress 运行代码
  • 网页设计与网站建设考试题目如何做建议的网站
  • 网站怎么推广软文政务网站建设存在问题
  • 公司官方网站建设需要多少钱wordpress单页面制作
  • 社群网站建设网站推广的方式有哪几种
  • 培训机构活动策划网站wordpress 改端口
  • 北京网站制作与营销培训用asp做网站视频
  • 江苏丹阳建设公司网站做网站中的剪辑图片
  • 纯静态网站怎样广州工程造价信息网
  • 为什么网页不能打开建设银行网站企业网站开发综合实训
  • 企业网站制作 深圳网站建站行业公司主页建设
  • 外汇直播网站建设开发做网站空间商需要办什么手续
  • 源码哥网站的模板皮肤病在线咨询医生免费咨询
  • 温岭市市住房和城乡建设规划局网站附近的电脑培训班在哪里
  • 网站备案百度站长提交减肥网站源码
  • 网站添加文章机械代加工厂家
  • 学做各种糕点的网站cn网站建设多少钱