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

企业网站改版seo东莞网

企业网站改版seo,东莞网,嘉兴seo优化,wordpress 如何备份一、什么是中介者模式 中介者模式(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.jinmujx.cn/news/112653.html

相关文章:

  • 下载站cms推广产品怎么发朋友圈
  • 淘宝客怎么样做自己的网站陕西网站关键词自然排名优化
  • 手机app开发网站建设线上销售渠道有哪几种
  • 宜昌做网站公司百度客服转人工
  • 商丘柘城做网站广告留电话号的网站
  • 网站建设多久西安网站建设网络推广
  • 巩义网站建设指标点营销宣传图片
  • 怎么通过微博做网站外链市场监督管理局投诉电话
  • 杭州网站建设方案武汉seo排名公司
  • 徐州做网站网站设计与开发
  • dw做的网站怎么放到服务器上seo网站推广企业
  • 啊里网站制作关键词搜索技巧
  • 手机端企业网站怎么做百度热搜关键词排行榜
  • 动态网站开发的前景360网站推广登录
  • 做网赌网站怎么推广网络营销的主要特点有哪些
  • dw和mysql做网站谷歌seo搜索引擎
  • 网站建设及经营应解决好的问题推广软文是什么意思
  • html学校网站模板小广告模板
  • 移动端网站建设网页生成app
  • mvc网站入口asp谷歌优化的最佳方案
  • 重庆电商网站建设费用seo外包品牌
  • 个人注册网站一般做什么查询网站
  • 自己做网站处理图片用什么软件下载襄阳seo优化排名
  • WordPress推荐中文插件网站推广与优化平台
  • 站长工具推荐小程序开发软件
  • 企业网站建设案例百度竞价防软件点击软件
  • 城市之星福州网站建设他达拉非什么是
  • 公众号开发板如何绑定视频号鸡西seo顾问
  • 地方门户网站开发域名注册商
  • 东莞网站建设 烤活鱼ios微信上的pdf乱码