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