Design patterns 控制器应包含来自特定实体或屏幕的所有请求?
控制器应包含来自特定实体或屏幕的所有请求?例如,假设我们有一个屏幕,在那里我们可以保存电子商店的新客户,编辑现有客户,等等,这样我们就可以创建ClientController。我们有另一个屏幕,我们可以保存和更新我们的电子元件库存。所以我们可以创建一个StockController。 但是,如果我们有另一个屏幕,要求我们显示一个客户列表和一个库存组件列表,该怎么办。这两个请求应该去哪里Design patterns 控制器应包含来自特定实体或屏幕的所有请求?,design-patterns,controller,request,entity,Design Patterns,Controller,Request,Entity,控制器应包含来自特定实体或屏幕的所有请求?例如,假设我们有一个屏幕,在那里我们可以保存电子商店的新客户,编辑现有客户,等等,这样我们就可以创建ClientController。我们有另一个屏幕,我们可以保存和更新我们的电子元件库存。所以我们可以创建一个StockController。 但是,如果我们有另一个屏幕,要求我们显示一个客户列表和一个库存组件列表,该怎么办。这两个请求应该去哪里 最后两个请求是否应该转到另一个名为ListsController或类似的控制器 客户名单是否应该转到Clie
谢谢 尝试围绕域而不是“边界”对系统进行建模。控制器位于边界上,它们代表您的入口点 相反,请确保您的域模型不是贫血的。它们应该公开定义良好的操作。TDD在这方面有很大帮助 一旦您对自己的领域有了很好的了解,您就可以考虑哪些操作真正“值得”向外界公开。然后可以开始添加控制器
通常情况下,聚合和控制器之间应该有1-1映射,但这可能会根据您正在开发的系统类型而改变。好的,但在我解释的示例中,您会选择什么?感谢从API的角度来看,您可能会有这样的情况:-GET/API/v1/clients,返回归档文件-GET/API/v1/clients/123,返回客户机详细信息-POST/API/v1/clients,创建新客户机-PUT/API/v1/clients/123,更新客户机详细信息-DELETE/API/v1/clients/123,在获得API后删除客户机,您可以将任何类型的UI附加到它。在这一点上,它将在很大程度上取决于您的前端选择。