我不知道这个问题是否无意义,如果有请告诉我。我想知道我是像数据库中的每个表一个一样创建模型,还是每个 Controller 创建一个模型?我在这里缺少什么吗?
从我读到的内容来看,模型应该是真实业务对象的表示,所以我只想将其变成一个大模型还是根据应用程序中的内容将它们分开?基于真实用户/客户对数据的感知?
感谢您的建议。
最佳答案
Controller 共享模型没有任何问题。但尝试为每个 Controller 提供相同的模型是没有意义的。
模型和 Controller 确实不相关,也不应该相关。模型也与数据在应用程序中的存储方式没有直接关系。
模型封装数据。它们的设计应该由它们封装的数据决定。系统的需求决定了您需要什么模型以及它们必须保存什么数据。
不要想得太多。对于给定的请求,确定需要在 View 中显示的内容以及显示方式。确定适合此场景的模型。如果已经存在,请使用它。如果没有,请创建一个新模型。当您知道自己的需求是什么并且可以找到模型之间的共性时,就可以避免过度设计。
模型还可以包含其他模型,这很好。考虑一个销售报告的模型。您将拥有一个报表模型,其中不仅包含报表名称、总计,还包含构成报表行项目的其他模型的集合。
关于asp.net-mvc - 当尝试实现良好的 ASP.NET MVC 时, Controller 'ratio' 是否有一个标准模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1323912/