6

是什么让您决定创建一个新控制器而不是向现有控制器添加更多操作?你在哪里画线,为什么?

4

3 回答 3

5

应该确定何时创建新控制器的主要因素是它们执行的逻辑/功能。您需要确保将关注点分开

public class ProfileController {  }

public class MainController {  }

public class AccountController {  }

public class ShoppingCartController {  }

前面的每个控制器都用于协调它们对应的域服务/模型和它们的视图之间的通信。

于 2012-06-23T18:40:10.677 回答
5

当然没有涉及的是动作的数量¹ - 至少在“哦,我在这个控制器中超过 50 个动作,让我们开始另一个”的意义上。

准则² 应该是:控制器是操作相同类型对象的操作的逻辑组(相同类型的模型可能是更好的定义)。如果碰巧你有一个功能如此丰富的模型,可以在它上面执行 30 个单独的操作,请继续将它们放在同一个控制器中。

另一方面:如果您有简单的模型,并且您发现自己编写的控制器每个都只有几个动作,那应该是对应用程序的可维护性感觉良好的理由,而不是担心的理由。


笔记:

¹ 当然,具有这么多操作的控制器是可能滥用代码的危险信号,因此应该考虑这个数字——而不是作为某种硬性规则。

² 它实际上是一个指导方针——这里的目的是建立一个可维护的系统,而不是遵循一些宗教经文。

于 2012-06-23T18:40:23.973 回答
2

作为一般的经验法则,我尽可能简单地保持所有操作,如果它们变得很大或太多,那么我会看看我是否可以创建辅助函数。

如有必要,我每个数据库实体都有一个控制器。

因此,例如,我将有一个用户控制器、一个购物车控制器、一个项目控制器等。

我不认为有任何具体的规则。它只是保持一切合乎逻辑。如果它对你来说是合乎逻辑的,那么这通常是最重要的,除非你在一个团队中,那么它对每个人都必须是合乎逻辑的。

希望这可以帮助。

于 2012-06-23T18:40:22.357 回答