什么是“工人”设计模式?
答案 0 :(得分:9)
工人设计模式
<强>问题:强>
<强>解决方案:强>
示例:强>
您的ImageBinary对象表示包含高度和宽度的图像二进制文件(元数据已解耦)。您可以对此对象执行各种操作,如调整大小,裁剪,缩放。
$image1 = new ImageBinary(array(‘id’ => 1));
$image2 = new ImageBinary(array(‘id’ => 2));
$image3 = new ImageBinary(array(‘id’ => 3));
$worker = new ImageWorker;$worker->add($image1);$worker->add($image2);$worker->add($image3);$worker->rotate(90);
相关模式
答案 1 :(得分:7)
可能是您在worker thread pattern之后,在那里您使用队列来安排您希望由工作线程“脱机”处理的任务。 有些解决方案将使用pool of worker threads而不是单线程来利用并行化来实现性能提升。
答案 2 :(得分:1)
像MapReduce之类的东西浮现在脑海中。可以在工作节点上并行执行多个任务。
编辑:正如@larsmans所提到的,这被称为Master/Worker模式。