Архитектура MVC - повторное использование одной и той же модели представления для чтения и редактирования

Скажем, у нас есть следующий (слишком простой) сценарий:

У нас есть экран для просмотра сведений о человеке и экран для редактирования сведений о человеке.

Информация о персонале на экране имеет следующие поля (только для отображения):

Имя Фамилия Био

На экране редактирования сведений о человеке отображаются следующие поля (в элементах управления вводом):

ID (скрыто) Имя Фамилия Био

Скажем, наша модель просмотра выглядит так:

    public class DisplayPersonViewModel
    {
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public string Bio { get; set; }
    }

И наша модель редактирования выглядит так:

public class EditPersonViewModel
{
    [Required]
    public int ID { get; set; }

    [Required]
    [StringLength(20)]
    public string FirstName { get; set; }

    [Required]
    [StringLength(20)]
    public string LastName { get; set; }

    [Required]
    public string Bio { get; set; }
}

Не большая разница между 2, а? Модель редактирования имеет одно дополнительное поле (ID) и некоторые атрибуты в свойствах. Теперь, если бы мы объединили 2, как это:

    public class DisplayPersonViewModel
    {
        [Required]
        [StringLength(20)]
        public string FirstName { get; set; }

        [Required]
        [StringLength(20)]
        public string LastName { get; set; }

        [Required]
        public string Bio { get; set; }
    }

    public class EditPersonViewModel : DisplayPersonViewModel
    {
        [Required]
        public int ID { get; set; }
    }

Это, безусловно, более СУХОЙ, так как у нас нет дублирующих полей для обслуживания, но теперь у нас есть посторонняя информация (атрибуты) в нашей модели отображения. Я все больше склоняюсь ко второму подходу, потому что на некоторых наших экранах более 25 полей! (... и это вне моего контроля, поэтому, пожалуйста, не говорите об этом :) ...) Тем не менее, я просто хочу услышать мнения, чтобы лучше понять, что может быть "наилучшей практикой".

Ответы на вопрос(2)

Ваш ответ на вопрос