我刚开始第一次做MVC项目,遇到了一个我真的没想到的问题:模型太多。
没有太多不同的型号,但有太多细微不同但几乎完全相同的型号。
我有一个相当复杂的页面,有几个组合框、一个详细对象列表和一些我需要跟踪的无关紧要的东西。视图中的信息比我返回的信息多(这很好)。
我有一个域模型,它始终保持不变。(1 个模型)
我有一个单一用途的视图模型,它是域模型和一些围绕它的额外信息。(1 个模型)
我有一个单次使用的表单模型,它是视图模型的副本,其中包含域模型的空壳副本,上面有验证内容。(2 款)
今天下午我需要更改一个属性的类型,并且我有三个不同的地方可以更改它。看来我的模型太多了,都是单人使用的。对于本应比经典 ASP.NET 容易得多的东西,它似乎做了很多工作。
我的问题是:我做得对吗?是否应该有多种模型,还是我遗漏了一些明显的东西?