控制器应该包含来自特定实体或屏幕的所有请求?

Controllers should contain all the requests from a specific entity or screen?

控制器应该包含来自特定实体或屏幕的所有请求?例如,假设我们有一个屏幕,可以在其中保存电子商店的新客户、编辑现有客户等。因此我们可以创建一个 ClientController。我们还有其他屏幕,我们可以在其中保存和更新我们的电子元件库存。所以我们可以创建一个 StockController。 但是,如果我们有其他屏幕要求我们显示客户列表和库存组件列表怎么办?这两个请求应该去哪里?

  1. 最后两个请求是否应该转到名为 ListsController 或类似名称的不同控制器?

  2. 是否应该将客户列表发送到 ClientController,将股票列表发送到 StockController?

您认为选择任何选项的好处或原因是什么?

谢谢!!

尝试围绕域而不是“边界”为您的系统建模。控制器位于边界上,它们代表您的入口点。

相反,请确保您的域模型不是贫血的。他们应该公开明确定义的操作。 TDD 对此大有帮助。

一旦您对您的域有了很好的了解,您就可以考虑哪些操作真正“值得”暴露给外界。然后就可以开始添加控制器了。

通常你应该在聚合和控制器之间有一个 1-1 的映射,但这可以根据你正在开发的系统类型而改变。