Я ищу хороший способ управления моими моделями представлений и особенно классами, используемыми в этих моделях представлений. Я объясню ниже с примером:
Допустим, я хотел бы отобразить представление, которое содержит проект (заголовок, контент, категория, ...) и под ним список некоторых связанных проектов (той же категории). Я создал модель вида специально для этого вида. Вот оно:
public class ProjectDetailsViewModel
{
public ProjectFullViewModel OneProject { get; set; }
public IEnumerable<ProjectLightViewModel> RelatedProjects { get; set; }
// Below are the classes used in this view model
public class ProjectFullViewModel
{
public int ProjectID { get; set; }
public string Title { get; set; }
public string Slug { get; set; }
public string Category { get; set; }
public string Client { get; set; }
public int Year { get; set; }
public IEnumerable<Technology> Technologies { get; set; }
public byte[] ScreenshotData { get; set; }
public string ScreenshotName { get; set; }
public int ScreenshotLength { get; set; }
public string ScreenshotType { get; set; }
public byte[] BackgroundData { get; set; }
public string BackgroundName { get; set; }
public int BackgroundLength { get; set; }
public string BackgroundType { get; set; }
}
public class ProjectLightViewModel
{
public int ProjectID { get; set; }
public string Title { get; set; }
public string Slug { get; set; }
public string Category { get; set; }
public string Client { get; set; }
public string Year { get; set; }
}
}
Как видите, все классы, используемые в этой модели представления, содержатся в ней. Я думаю, что легче следить за тем, что используется. Как вы думаете? Это хорошая / плохая практика? Некоторые предложения? Я заметил, что когда у нас много моделей представлений и классов, мы можем немного запутаться. Не вините меня, я все еще изучаю ASP.NET MVC и хотел бы сделать правильный выбор ...
Спасибо.