Вход на сайт
Можно ли возвращать null из функции?
7071 просмотров
Перейти к просмотру всей ветки
в ответ AlexNek 11.04.24 17:48
А почему null, а не сразу исключение, тогда сразу всё заткнется без каких то дальнейших шагов.
Ну можно и сразу исключение. Зависит от фабрики и от того, что она должна возвразать.
В общем случае фабрика не может знать является ли отсутствие объекта ошибкой. Ну скажем в случае если мы ищем заказ по ID и ничего не можем найти, то это скорее ошибка. А если мы ищем клиента по фамилии (где ID - это фамилия) и не можем найти, то это может оказаться просто новый клиент и никакой ошибки тут нет. Фабрика должна создавать объекты и не должна принимать никаких решений. Плюс к этому поведение фабрики всегда должно быть одинаковым.
Как бы там ни было, это уже детали реализации фабрики и договоренностей между архитекторами.