Asp.net MVC-ViewModel设计

| 我的控制器上有一个Create和Edit动作。 对于每个动作,我都有一个视图模型。两种视图模型都有大约15个属性。两种型号共有10个,其​​余各不相同。 我的问题:我应该创建具有共同属性的基本模型(保持DRY)还是在这里不关心?     
已邀请:
几乎可以肯定,这取决于您所处的实际情况。您要问自己的最重要问题是:这些共享属性是否形成某种基本实体?如果答案是肯定的,那么您可以安全地拥有基类。如果没有,我会远离它,只是将属性放在各个模型上。 如果在创建视图模型中遗漏了一些可在编辑视图中进行编辑的属性,则共享属性可能不会构成某种类型的基类,因此应避免使用基视图模型方法。如果额外的属性只是辅助属性(例如选择列表),则可以安全地拥有具有公共属性的基本模型。     
你绝对应该在乎。编写好的,干净的代码对灵魂有益,此外,众所周知,每次您编写不好的代码,上帝都会杀死小猫。 :(我们不想要那样。 将通用代码/属性移至基类,然后有两个后代,这很不错,很干净,并且使维护更加容易。     
我个人将使用基类选项,以便您不得不在多个位置重复数据标注属性。     
我的观点是,如果我要创建或编辑某些内容,则本质上是同一件事。实际上,核心数据结构应该没有任何区别。 但是假设存在差异,我将像其他任何地方一样使用基类共享公共属性。     

要回复问题请先登录注册