Простая логика получения в ViewModels
Можно ли иметь простую логику (без каких-либо зависимостей) в методах получения ViewModels или она должна содержать только автоматические свойства? в этом случае просто проверка на ноль, поэтому мне не нужно делать это в контроллере каждый раз, когда я использую эту ViewModel. TicketSearchParameters - это простая модель, содержащая свойства строки и даты, в которой нет репозитория или каких-либо других зависимостей.
public class MyViewModel
{
private TicketSearchParameters _searchParams;
public TicketSearchParameters SearchParams
{
get
{
if (_searchParams == null)
{
_searchParams = new TicketSearchParameters();
_searchParams.CreatedFrom = DateTime.Now.AddDays(-7);
_searchParams.CreatedTo = DateTime.Now;
}
return _searchParams;
}
set
{
_searchParams = value;
}
}
/*** other properties ***/
}
1 ответ
Вы код довольно хорошо. Но вы можете использовать NULL Object Design Pattern, чтобы проверить нулевое значение и создать NullObject.
создать класс с именем NullSearchParams, унаследованный от SearchParams, и инициализировать его при необходимости.
Вы можете увидеть документацию по шаблону Null здесь.