два типа возвращаемых функцией
От: TheOldMan  
Дата: 26.04.11 14:21
Оценка:
Всем привет!

(язык программирования -- PHP)

Наткнулся вот на метод с именем getTopBarResponse(). Метод может возвратить объект типа TopBarResponse (наследуется от AbstractResponse) или же null.

Я считаю правильным, сделать так, что функция будет отдавать именно то, что ожидаем от нее, именно то, что обещает ёё имя: TopBarResponse. И поэтому считаю правильным возвращать вместо null, экземпляр класса NullTopBarResponse (или NullResponse), который наследуется от TopBarResponse (AbstractResponse). NullTopBarResponse — реализируем по принципу Null Object Pattern.

Иначе, у нас получится, что метод может возвращать данные сразу двух типов (NB: в PHP, null -- отдельный тип данных). Что ведет к тому, что объект получается менее целостным, а в ходе использования нужно еще делать дополнительные проверки.

И хочу спросить (удостовериться): правильно я рассуждаю или нет? Хорошо ли активно пользоваться тем же принципом, который лежит в основе null object pattern'a, и по пути минимизировать получение каких-либо null'ов?
суть в простоте, а простота в сути
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.