我在我的控制器上有一个创建(Create)和编辑(Edit)的操作。
我为每个操作都有一个视图模型(viewmodel),这两个视图模型大约有15个属性。其中10个属性对于两个模型都是相同的,其余的则不同。
我的问题是:我应该创建一些具有共同属性的基本模型(保持DRY),还是我不需要关心这个?
我在我的控制器上有一个创建(Create)和编辑(Edit)的操作。
我为每个操作都有一个视图模型(viewmodel),这两个视图模型大约有15个属性。其中10个属性对于两个模型都是相同的,其余的则不同。
我的问题是:我应该创建一些具有共同属性的基本模型(保持DRY),还是我不需要关心这个?
你一定要关注这个问题。编写良好、干净的代码不仅有益于灵魂,而且我们都知道每当你编写糟糕的代码时,上帝就会杀死一只小猫咪。:( 我们可不想这样。
将常见的代码/属性移动到一个基类中,然后再有两个子类继承它,这样做既美观又干净,而且使维护变得更加容易。
个人而言,我会选择基类选项,这样你就不必在多个地方重复数据注释属性。
我的观点是,如果我正在创建或编辑某些东西,本质上它们是相同的。实际上,在核心数据结构上不应该有任何区别。
但是假设存在差异,我会像在其他任何地方一样使用基类来共享公共属性。