0

如果我必须在两个控制器之间共享变量,那么只使用一个控制器不是更好吗?

4

4 回答 4

2

你有三个选择:

  • 将所有逻辑保存在一个控制器中 - 难以维护
  • 两个有两个控制器和重复的逻辑 - 再次难以维护
  • 拥有两个控制器并在服务中分离所需的逻辑 - 将能够重用两个控制器中的逻辑并删除重复。
于 2013-09-02T14:32:00.593 回答
1

把它想成是为了增加你的软件凝聚力。具有更高的内聚性,您的代码更易于维护、重用、测试和调试。例如,如果您将 aPersonController分成 aTeacherController和 a StudentController,它们分别返回教师和学生对象。当您在应用程序中遇到错误时,例如。学生视图没有正确显示成绩,您可以更轻松地识别错误来自哪个控制器。

于 2013-09-02T14:17:32.753 回答
1

您会出于不同的原因使用每个应用程序控制器,在我看来,这使应用程序更具可读性和可维护性。如果你需要分享一些东西,那么你就去做。

于 2013-09-02T13:47:02.983 回答
1

使用两个控制器而不是一个控制器的选择通常取决于您决定如何对应用程序中的真实世界实体进行建模。共享变量并不是融合两个控制器的足够强的激励。最好维护您的控制器,每个控制器都对自己的实体进行建模,并为它们之间所需的通信创建一个 Angular 服务。

于 2013-09-02T13:47:20.613 回答