我有一个与软件架构相关的快速问题。在我的应用程序中,我有一个模型,其中包含一个检查应用程序工作环境的方法。让我们说模型被称为" AppModel"。
因此,AppModel :: isDevEnv()指示应用程序是否在生产或开发中运行。在其他模型,组件等中调用此方法很容易。
问题是当我想检查视图中的环境时。我创建了一个带有适当方法的帮助器,只是为了从模型中覆盖方法并返回来自精确模型方法的结果。
class AppModel {
public function isDevEnv() {
return boolean;
}
}
class AppHelper {
public static function isDevEnv() {
$app = new AppModel();
return $app->isDevEnv();
}
}
这是正确的做法吗?也许它有点过于复杂?也许我应该在模型中创建一个静态方法,并在我想调用它时调用它?
答案 0 :(得分:0)
如果这是遗留系统,我建议将其重构为理想的解决方案。如果你想拥有这个帮助器,或者它是进一步重构的必要步骤,那就去做吧。
一般情况下,我会根据环境注入不同行为的服务,而不是检查模型中的环境。但遗留系统可能并不容易。