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

wordpress文章时间轴seo基础理论

wordpress文章时间轴,seo基础理论,帝国cms做搜索网站,所有网站名称大全定义 中介者模式(Mediator Pattern)是一种行为设计模式,通过引入一个中介者对象,来降低多个对象之间的直接交互,从而减少它们之间的耦合度。中介者充当不同对象之间的协调者,使得对象之间的通信变得简单且…

定义

中介者模式(Mediator Pattern)是一种行为设计模式,通过引入一个中介者对象,来降低多个对象之间的直接交互,从而减少它们之间的耦合度。中介者充当不同对象之间的协调者,使得对象之间的通信变得简单且集中。

UML图

在这里插入图片描述

  • Mediator(中介者接口):定义中介者与同事之间的交互方法。
  • ConcreteMediator(具体中介者):实现中介者接口,维护对同事对象的引用,并协调它们之间的交互。
  • Colleague(同事抽象类):通常持有对中介者的引用,通过中介者进行通信。
  • ConcreteColleague(同事类):具体的组件类,通常持有对中介者的引用,通过中介者进行通信。

代码

// Mediator interface
interface Mediator {void send(String message, Colleague colleague);
}// Concrete Mediator
class ChatMediator implements Mediator {private List<Colleague> colleagues = new ArrayList<>();public void addColleague(Colleague colleague) {colleagues.add(colleague);}@Overridepublic void send(String message, Colleague colleague) {for (Colleague c : colleagues) {// Prevent sending message back to the senderif (c != colleague) {c.receive(message);}}}
}// Colleague interface
abstract class Colleague {protected Mediator mediator;public Colleague(Mediator mediator) {this.mediator = mediator;}public abstract void send(String message);public abstract void receive(String message);
}// Concrete Colleague
class User extends Colleague {private String name;public User(Mediator mediator, String name) {super(mediator);this.name = name;}@Overridepublic void send(String message) {System.out.println(name + ": Sending message: " + message);mediator.send(message, this);}@Overridepublic void receive(String message) {System.out.println(name + ": Received message: " + message);}
}// Client code
public class MediatorPatternDemo {public static void main(String[] args) {ChatMediator mediator = new ChatMediator();User user1 = new User(mediator, "Alice");User user2 = new User(mediator, "Bob");mediator.addColleague(user1);mediator.addColleague(user2);user1.send("Hello Bob!");user2.send("Hi Alice!");}
}

优点

  • 降低耦合性:同事对象不需要直接引用彼此,减少了依赖关系。
  • 集中管理:所有的交互逻辑集中在中介者中,易于维护和修改。
  • 灵活性:可以方便地添加新的同事类或修改交互逻辑,而不需要改变其他类。

缺点

  • 中介者复杂性:中介者可能会变得复杂,尤其是当它需要处理多个同事对象时。
  • 扩展困难:添加新的同事类可能需要对中介者进行修改,从而影响系统的灵活性。

使用场景

  • 当多个对象之间的通信需要被集中控制时。
  • 当系统中存在大量同事对象,且它们之间的交互复杂时。
  • 当希望减少类之间的依赖关系,提升系统的可维护性时。
http://www.dinnco.com/news/55099.html

相关文章:

  • wordpress最新的编辑器冯耀宗seo
  • 上海公司买新能源车需要什么条件赣州seo推广
  • 淘客手机版网站怎么做百度竞价开户哪家好
  • 手机上免费制作ppt的软件网络搜索优化
  • 学习网页设计与制作的网站看b站视频软件下载安装
  • 创意做网站公司windows优化大师是什么软件
  • 洛阳做网站多少钱怎样制作网页
  • vps主机访问网站云巅seo
  • 做装饰材料的网站搜索引擎优化内容包括哪些方面
  • 网站建设顺序seo教学网seo
  • 网站做404页面怎么做seo网站诊断价格
  • 网站项目书范文做网络推广好吗
  • 自己做网站帮别人卖东西网站服务器失去响应
  • 如何做地方网站推广百度搜索引擎seo
  • 有什么兼职做设计的网站好关键词林俊杰歌词
  • 沈阳网站建设哪家好百度竞价排名名词解释
  • 朔州路桥建设有限责任公司网站电子商务营销的概念
  • 山西省住房和城乡建设厅网站报名有实力的网站排名优化软件
  • php网站多语言翻译怎么做策划品牌全案
  • 网站建设月薪竞价托管一般要多少钱
  • 赣州网站建设-赣州做网站百度企业官网认证
  • 做视频直播的网站有哪些深圳网络推广系统
  • 微信网站建设费用百度推广官网入口
  • 网站建设的最新技术自己怎么开网站
  • 如何推进政府网站建设方案9个广州seo推广神技
  • 设计网站专题页包括那些项目百度客服人工电话多少
  • 湖北省建设工程人力资源网站网站建设开发价格
  • 电影网站怎么做不犯法友链交换平台源码
  • 四川网站建设外包业务查询网站注册信息
  • 用php做网站的方法百度贴吧网页版