Простая логика получения в 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 здесь.

https://sourcemaking.com/design_patterns/null_object

Другие вопросы по тегам