MVC一个或单独的模型?

Fat*_*gun -2 oop

我正在开发一个网站,它有两种不同的客户端支持可能性.在他们两个中,他都需要提交一份包含一些必要字段的小表格.

我使用一个非常基本的模型实现其中一个,其中包含必要的属性,如名称,电子邮件和其他几个,用户输入他/她的数据,如果所有字段都有效,他被重定向到一个祝贺他的屏幕成功提交表格.

第二个需要来自客户端的几乎与第一个相同的输入,除了一个未包括的字段,并且客户端必须填写一些其他字段以获得第二类支持.

我想知道为两个视图使用相同的模型是一个好主意,虽然它们都不会使用所有属性,因为创建具有一半相同属性的两个不同模型对我来说似乎是浪费.

Bas*_*Bas 5

为模型使用继承:

比方说,输入1需要属性A,BC.输入2需要B,CD.

创建两个类:

 public abstract class MyThingyBase
 {
      public int B { get; set; }
      public int C { get; set; }
 }

 public class Input1 : MyThingyBase 
 {
      public int A { get; set; }
 }

 public class Input2 : MyThingyBase 
 {
      public int D { get; set; }
 }
Run Code Online (Sandbox Code Playgroud)

这样,两个类都具有所需的所有属性,而无需重复代码.你甚至可以共享处理代码B,并C通过将其放置在一些与工程MyThingyBase类.