【发布时间】:2015-07-05 21:26:56
【问题描述】:
注意:我的问题是关于包含/传递调度程序instance的方式,而不是关于模式如何有用。
我正在研究 Flux 架构,但我无法理解调度程序(实例)可能被包含在任何地方的概念......
如果我想从模型层触发动作怎么办?在我的模型文件中包含对象的 instance 对我来说感觉很奇怪......我觉得这缺少一些注入模式......
我的印象是,确切的 PHP 等价物是(感觉)可怕的类似于:
<?php
$dispatcher = require '../dispatcher_instance.php';
class MyModel {
...
public function someMethod() {
...
$dispatcher->...
}
}
我认为我的问题不仅与 Flux 架构完全相关,而且更多地与 NodeJS 的“做事方式”/一般实践有关。
【问题讨论】:
-
单例调度器是因为你想要一个地方让你的应用程序中的所有事件都流动(无论是 API 请求/响应还是用户交互)。它或多或少是event sourcing 的一种形式。
-
“在我的模型文件中包含一个对象的实例对我来说感觉很奇怪”——确实如此,因为你的模型不应该关心它。模型的目的是保存数据。