У меня есть некоторые модели, например: RequestModel
модели для ввода и модели для просмотров, вы отделяете? C#
public class RequestModel
{
public int RequestId { get; set; }
public int CategoryKey { get; set; }
public int SubCategoryKey { get; set; }
public int AreaKey { get; set; }
}
Эта модель я использую, чтобы получить информацию от некоторых HTML-формы.
CategoryKey
, SubCategoryKey
и AreaKey
, являются кодами для категории, подкатегории и значений площади.
Для удобства отображения необходимо показать CategoryValue
, SubCategoryValue
и AreaValue
. Поэтому я использую ту же модель для своего представления и добавил к ней три поля.
public class RequestModel
{
public int RequestId { get; set; }
public int CategoryKey { get; set; }
public int SubCategoryKey { get; set; }
public int AreaKey { get; set; }
public String CategoryValue { get; set; }
public String SubCategoryValue { get; set; }
public String AreaValue { get; set; }
}
Я имею в виду разделить его на следующие классы:
public class RequestModel
{
public int RequestId { get; set; }
}
public class RequestInputModel : RequestModel
{
public int CategoryKey { get; set; }
public int SubCategoryKey { get; set; }
public int AreaKey { get; set; }
}
public class RequestDisplayModel : RequestModel
{
public int RequestId { get; set; }
public String CategoryValue { get; set; }
public String SubCategoryValue { get; set; }
public String AreaValue { get; set; }
}
Что вы думаете? действительно ли это необходимо? выполняете ли вы это разделение между классами для ввода и классов для отображения?
Я не думаю, что существует общий ответ, который подходит для всех случаев использования. Как правило, я бы сказал: если вы работаете над небольшой проект, который не имеет большого срока службы, и вы не ожидаете многих изменений, самое простое решение может быть лучшим. Если вы работаете в крупномасштабной системе, разделяя логику в максимально возможной степени, вы помогаете ей поддерживать ее. –
вы, кажется, смешиваете несколько различных парадигм дизайна вместе, ваш вопрос задает вопрос о моделировании MVC или MVVM, но ваш пример кода о наследовании – MikeT