Желательно ли возвращать нуль, когда сущность не существует в репозитории?
Я хотел бы знать, является ли хорошей или плохой практикой возвращать ноль или выбрасывать исключение.
Я считаю, что исключения должны создаваться, когда происходит что-то действительно исключительное, но возвращать null - это некрасиво, и, в любом случае, вышеприведенный уровень должен будет проверить наличие нуля и выдать исключение, поскольку получение Id, который не существует, не разрешено в моем домене.
Как правильно поступить?
1 ответ
На мой взгляд, Null предпочтительнее, чем выбрасывать исключение, но это зависит от того, насколько исключительным является этот случай, и, конечно, от вашего домена.
Более приятная вещь для возврата - это объект Null, т.е. объект, который реализует тот же интерфейс, что и элемент, который вы ищете в своем хранилище, но у него есть поведение, с которым лучше работать, чем просто с нулевым.
Ознакомьтесь с шаблоном объекта Null или посмотрите его в Agile Принципы, Шаблоны и Практики в C#