С предыдущей командой, с которой я работал, всякий раз, когда новый класс Service был создан для обработки бизнес-логики между слоем данных и уровнем представления, было выполнено следующее:
class DocumentService
{
public DocumentRepository DocumentRepository { get; set; }
public DocumentService()
{
if (DocumentRepository == null) DocumentRepository = new DocumentRepository();
}
}
Я никогда не понимал, почему была проверка на null
. Если конструктор вызывается, это означает, что он должен быть нулевым. Поскольку это новый экземпляр, правильно?
Зачем это делать? Мне кажется, что это лишний шаг, но я не хочу ничего пропускать и передавать его как плохую практику.