ViewModels 中的简单 getter 逻辑


是否可以

在 ViewModels getter 中使用简单的逻辑(没有任何依赖项(,或者它应该只包含自动属性? 在这种情况下,只需检查 null,因此我不必在每次使用此 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 ***/
}

你的代码相当不错。但是,您可以使用 NULL 对象设计模式来检查 null 并创建 NullObject。

创建从 SearchParams

继承的名为 NullSearchParams 的类,并在需要时对其进行初始化。

您可以在此处查看空设计模式文档。

https://sourcemaking.com/design_patterns/null_object

相关内容

  • 没有找到相关文章