在系统中使用调度程序

时间:2013-04-21 04:00:01

标签: java design-patterns solid-principles

下面的系统中调度员的相关性是什么?

这是一种模式/原则吗?

Requesting the elevator

我无法推测Dispatcher在这里的相关性。

根据文献,每辆车有一个Dispatcher,其主要功能是 计算汽车的目标移动方向和目的地,以及保持门的开启时间。除了Dispatcher之外,LanternControl与系统中的几乎所有控制对象进行交互。

为什么HalButtonController不会直接与Drivecontrol对话? DriveControl无法履行的责任是什么,需要Dispatcher

1 个答案:

答案 0 :(得分:0)

按钮和drivecontrol是无状态的 - 调度程序负责维护系统中的状态。如果没有调度员,那么如果按下两个按钮,那么他们都会将他们的输入发送到驱动器控制器并且系统将被废弃(否则驱动器控制将简单地忽略其中一个输入);相反,调度程序拦截按钮输入并对它们进行适当排队(即更改系统状态以反映按钮输入),然后按顺序将它们分派给驱动器控件。