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

全国中小企业网站百度手机助手苹果版

全国中小企业网站,百度手机助手苹果版,网站建设的常用技术有哪些,做动漫图片的网站一、什么是中介者模式 中介者模式(Mediator Pattern)是一种行为型设计模式,其核心思想是通过一个中介者对象来封装一系列对象之间的交互,使这些对象不需要相互显式引用。中介者模式提供了一个中介层,用以协调各个对象…

一、什么是中介者模式

中介者模式(Mediator Pattern)是一种行为型设计模式,其核心思想是通过一个中介者对象来封装一系列对象之间的交互,使这些对象不需要相互显式引用。中介者模式提供了一个中介层,用以协调各个对象之间的通信,从而减少它们之间的耦合度。

二、中介者模式的角色

  1. 抽象中介者(Mediator):定义了同事对象用来与中介者通信的接口,规定了中介者必须实现的方法。其作用是声明并规范中介者的操作,以便具体中介者能够实现这些操作来协调同事对象之间的交互 。

  2. 具体中介者(ConcreteMediator):实现抽象中介者的接口,管理同事对象的引用,并根据具体的业务逻辑处理同事之间的交互 。

  3. 抽象同事类(Colleague):定义同事类的接口,包含一个保存中介者对象的引用的方法以及同事对象交互的抽象方法  ,也实现所有相互影响的同事类的公共功能 。

  4. 具体同事类(Concrete Colleague):实现了抽象同事类的接口,是真正参与到交互中的对象。当需要与其他同事对象交互时,会通过中介者对象来进行后续的交互,而不是直接与其他同事对象通信 。

三、中介者模式的典型应用

  • 事件调度和监听器管理:在需要事件调度和监听器管理的系统中,中介者模式可以用来管理事件的注册、触发和分发。

四、中介者模式在Timer中的应用

中介者模式在 java.util.Timer 类中的应用是一个典型的实例,其中 Timer 类充当中介者,而 TimerTask 任务则作为同事类。以下是详细的描述和代码示例:

  1. 抽象中介者(Mediator):在 Timer 的上下文中,这个接口是由 Timer 类实现的,它提供了一个接口,用于调度 TimerTask 对象。

  2. 具体中介者(ConcreteMediator):这是 Timer 类本身,它维护了一个任务队列(TaskQueue),并使用一个内部的线程(TimerThread)来执行这些任务。

  3. 抽象同事类(Colleague):在这个场景中,抽象同事类是由 TimerTask 接口实现的,它定义了任务需要执行的操作。

  4. 具体同事类(Concrete Colleague):这是实现 TimerTask 接口的具体任务类,它们通过 Timer 类来安排自己的执行。

import java.util.Timer;
import java.util.TimerTask;// 具体同事类:实现TimerTask接口的具体任务
class MyTask extends TimerTask {@Overridepublic void run() {System.out.println("TimerTask is executed at " + System.currentTimeMillis());}
}public class TimerMediatorPattern {public static void main(String[] args) {// 具体中介者:创建Timer对象Timer timer = new Timer();// 创建具体同事对象:创建任务MyTask task = new MyTask();// 通过中介者安排任务的执行:安排任务在3秒后执行timer.schedule(task, 3000);}
}
  • Timer 类是中介者,它负责管理 TimerTask 对象的执行。
  • MyTask 类是具体同事类,它实现了 TimerTask 接口,并定义了任务的具体行为。
  • 主函数中创建了 Timer 对象和 MyTask 对象,并通过 Timer 的 schedule 方法安排 MyTask 在3秒后执行。

工作原理:

  1. 注册任务:通过 Timer 的 schedule 方法,将 TimerTask 对象和执行时间注册到 Timer 中。

  2. 执行任务Timer 内部使用一个线程(TimerThread)来监控任务队列,当任务到达指定时间时,TimerThread 会执行这些任务。

  3. 解耦同事类TimerTask 对象不需要知道其他任务的存在,也不需要直接与它们交互,所有的调度和执行都是通过 Timer 完成的,这样就降低了任务之间的耦合度。

中介者模式在 Timer 类中的应用有效地将任务的调度和执行逻辑与任务的具体逻辑分离,提高了代码的模块化和可维护性 。

http://www.hkea.cn/news/395022/

相关文章:

  • 新上线网站如何做搜索引擎站长素材网站
  • 做网站编辑深圳疫情防控最新消息
  • PHP网站开发项目式教程google下载手机版
  • 国外专门用于做网站图片的做网站要多少钱
  • 网站维护费用计入什么科目媒介星软文平台官网
  • 网站建设seo 视频做网站哪个平台好
  • 旅行社网站建设方案论文百度seo公司
  • 长沙网站建设与维护百度开户联系方式
  • 做pcr查基因序列的网站南京百度网站快速优化
  • 数据服务网站策划方案关键词快速优化排名软件
  • 响应式网站缺点学大教育培训机构电话
  • 江苏天德建设工程有限公司网站一个平台怎么推广
  • 石家庄做网络推广的网站推广平台收费标准
  • 贵阳天柱网站建设招聘域名注册平台有哪些
  • 网站建设电话营销百度问一问官网
  • 网站优化建设河南怎么关闭seo综合查询
  • 自贡做响应式网站开发公司google搜索引擎入口google
  • 东莞哪种网站推广好微信朋友圈推广文案
  • 现在学做网站赚钱吗东莞市优速网络科技有限公司
  • 宁津做网站公司宣传推广图片
  • 陕西的建设厅官方网站数据分析报告
  • 企业网站建设的定位互联网
  • 注册域名之后如何做网站优化清理大师
  • wordpress+在线播放推广seo网站
  • 丽水网站建设明恩玉杰网站开发框架
  • 如何设计网站中的上传功能搜索引擎技术基础
  • 余江区建设局网站百度搜索引擎优化的方法
  • 做网站用c 还是java万网域名注册教程
  • 青岛做网站那家好专业的网站优化公司排名
  • 网站如何做淘宝推广seo服务 收费