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

线上网站建设wordpress短代码怎么用

线上网站建设,wordpress短代码怎么用,货代如何做亚马逊和速卖通网站,黄龙云 加强网站建设小谈设计模式(26)—中介者模式 专栏介绍专栏地址专栏介绍 中介者模式分析角色分析抽象中介者(Mediator)具体中介者(ConcreteMediator)抽象同事类(Colleague)具体同事类(C…

小谈设计模式(26)—中介者模式

  • 专栏介绍
    • 专栏地址
    • 专栏介绍
  • 中介者模式
    • 分析
    • 角色分析
      • 抽象中介者(Mediator)
      • 具体中介者(ConcreteMediator)
      • 抽象同事类(Colleague)
      • 具体同事类(ConcreteColleague)
    • 工作过程
    • 优缺点分析
      • 优点分析
        • 1
        • 2
      • 缺点分析
        • 1
        • 2
    • 适用场景
      • 1
      • 2
    • Java程序分析
      • 分析
        • 1
        • 2
        • 3
      • 输出结果
    • 总结

专栏介绍

专栏地址

http://t.csdnimg.cn/VpriY

专栏介绍

主要对目前市面上常见的23种设计模式进行逐一分析和总结,希望有兴趣的小伙伴们可以看一下,会持续更新的。希望各位可以监督我,我们一起学习进步,加油,各位。
在这里插入图片描述

中介者模式

中介者模式(Mediator Pattern)是一种行为型设计模式,它通过将对象之间的通信封装到一个中介者对象中,从而实现对象之间的松耦合。中介者模式可以减少对象之间的直接依赖,提高系统的灵活性和可维护性。

分析

在中介者模式中,存在一个中介者对象,它封装了对象之间的通信逻辑。对象之间的通信不再直接发生,而是通过中介者对象进行。当一个对象需要与其他对象进行通信时,它不需要知道其他对象的具体细节,只需要与中介者进行交互即可。
在这里插入图片描述

角色分析

抽象中介者(Mediator)

定义了中介者对象的接口,它通常包含一个或多个抽象的通信方法,用于定义对象之间的通信规则。

具体中介者(ConcreteMediator)

实现了抽象中介者的接口,它通过协调各个同事对象来实现协作行为。

抽象同事类(Colleague)

定义了同事对象的接口,它通常包含一个中介者对象的引用,用于与中介者进行通信。

具体同事类(ConcreteColleague)

实现了抽象同事类的接口,它与其他同事对象通过中介者进行通信。
在这里插入图片描述

工作过程

各个同事对象将自己的引用传递给中介者对象,以便中介者对象能够与各个同事对象进行通信。
当一个同事对象需要与其他同事对象进行通信时,它将请求发送给中介者对象。
中介者对象接收到请求后,根据通信规则进行相应的处理,并将请求转发给目标同事对象。
目标同事对象接收到请求后,进行相应的处理。
在这里插入图片描述

优缺点分析

优点分析

1

减少了对象之间的直接依赖,提高了系统的灵活性和可维护性。

2

将对象之间的通信集中到一个中介者对象中,使得系统结构更加清晰。

缺点分析

1

中介者对象将承担较多的责任,可能会变得复杂。

2

如果中介者对象存在过多的逻辑,可能会影响系统的性能。
在这里插入图片描述

适用场景

1

当对象之间存在复杂的通信逻辑时,可以使用中介者模式将通信逻辑集中到一个中介者对象中。

2

当对象之间的通信关系呈现网状结构时,可以使用中介者模式将通信关系简化为星型结构。
在这里插入图片描述

Java程序分析

// 抽象中介者
interface Mediator {void sendMessage(String message, Colleague colleague);
}// 具体中介者
class ConcreteMediator implements Mediator {private Colleague colleague1;private Colleague colleague2;public void setColleague1(Colleague colleague1) {this.colleague1 = colleague1;}public void setColleague2(Colleague colleague2) {this.colleague2 = colleague2;}@Overridepublic void sendMessage(String message, Colleague colleague) {if (colleague == colleague1) {colleague2.receiveMessage(message);} else if (colleague == colleague2) {colleague1.receiveMessage(message);}}
}// 抽象同事类
abstract class Colleague {protected Mediator mediator;public Colleague(Mediator mediator) {this.mediator = mediator;}public abstract void sendMessage(String message);public abstract void receiveMessage(String message);
}// 具体同事类
class ConcreteColleague1 extends Colleague {public ConcreteColleague1(Mediator mediator) {super(mediator);}@Overridepublic void sendMessage(String message) {mediator.sendMessage(message, this);}@Overridepublic void receiveMessage(String message) {System.out.println("ConcreteColleague1 received message: " + message);}
}// 具体同事类
class ConcreteColleague2 extends Colleague {public ConcreteColleague2(Mediator mediator) {super(mediator);}@Overridepublic void sendMessage(String message) {mediator.sendMessage(message, this);}@Overridepublic void receiveMessage(String message) {System.out.println("ConcreteColleague2 received message: " + message);}
}// 测试类
public class MediatorPatternExample {public static void main(String[] args) {ConcreteMediator mediator = new ConcreteMediator();ConcreteColleague1 colleague1 = new ConcreteColleague1(mediator);ConcreteColleague2 colleague2 = new ConcreteColleague2(mediator);mediator.setColleague1(colleague1);mediator.setColleague2(colleague2);colleague1.sendMessage("Hello from colleague1");colleague2.sendMessage("Hi from colleague2");}
}

分析

1

在上述示例中,Mediator是抽象中介者接口,定义了中介者对象的通信方法。ConcreteMediator是具体中介者类,实现了抽象中介者接口,并通过协调各个同事对象来实现协作行为。

2

Colleague是抽象同事类,定义了同事对象的接口,并包含一个中介者对象的引用,用于与中介者进行通信。ConcreteColleague1和ConcreteColleague2是具体同事类,分别实现了抽象同事类的接口。

3

在测试类MediatorPatternExample中,创建了具体中介者对象和具体同事对象,并将同事对象的引用传递给中介者对象。然后,通过同事对象调用sendMessage方法发送消息,中介者对象根据通信规则进行处理,并将消息转发给目标同事对象。最后,目标同事对象接收到消息并进行处理。

输出结果

ConcreteColleague2 received message: Hello from colleague1
ConcreteColleague1 received message: Hi from colleague2
以上示例演示了中介者模式的基本实现,通过中介者对象实现了对象之间的松耦合,实现了对象之间的通信。

总结

总结起来,中介者模式通过将对象之间的通信封装到一个中介者对象中,实现了对象之间的松耦合。它可以减少对象之间的直接依赖,提高系统的灵活性和可维护性。中介者模式适用于对象之间存在复杂的通信逻辑或通信关系呈现网状结构的场景。

http://www.15wanjia.com/news/196796.html

相关文章:

  • 手机网站设计宽度辽宁省建设工程质量监督总站网站
  • 8图片这样的网站怎么做wordpress高级图片主题
  • wordpress多站点怎么修改域名wordpress页面能用js吗
  • 龙岩建网站新兴县做网站的
  • 基于django的电子商务网站开发wordpress投稿系统
  • 网站运营需要哪些技术美做天然居家居网站
  • 什么网站做推广效果好投资公司网站建设意义
  • 河北省建设执业资格中心网站上海官方最新消息
  • 简洁大气企业网站欣赏天津建设工程信息网专家申请题库
  • 如何降低网站的权重快站优惠券app
  • 网站重构怎么做陕西省安康市建行 网站
  • php网站进后台wordpress主题 翠竹林
  • 网站风格有哪些在哪个网站上做外贸好
  • 怎么建立公司网站平台电商网站建设实训总结与体会
  • 什么样的网站必须做备案上海公司注册流程及费用
  • 电影站的seo上海央企排名前十名
  • 初中学习网站大全免费百度下载安装2019
  • 网站301重定向 权重转移网站建设论文1000字
  • 西安交易网站建设网络公司经营范围写电子商务
  • wordpress主题:精选zruckmetro主题佛山网站建设及优化公司
  • 网站设计与推广南安网站开发
  • 江西做网站多少钱网站关键词在哪里设置
  • 做网站如何网站考虑优化drupal wordpress 比例
  • 网站开发技术知识好用的土木建筑网站
  • 建设公司网站新闻素材管理广告公司取名
  • 义乌国贸学校网站建设网站是不是要用代码做
  • 龙岗区住房和建设局官方网站网站安全建设需求
  • 做网站好的公司专业的饰品行业网站开发
  • 怎么做网站卡盟怎么制作网页版简历
  • 淘宝上做网站行吗展示型网站设计与制作团队