доступ к данным: исключение «говори, не спрашивай»? - PullRequest
2 голосов
/ 02 августа 2009

Являются ли объекты доступа к данным исключением из правила «говори, не спрашивай»? Например, получить последние 10 сообщений из таблицы данных шлюза?

Ответы [ 2 ]

8 голосов
/ 02 августа 2009

Одна сводка из "Не говори" говорит:

«Вы должны стараться рассказать объектам, что вы хотите, чтобы они делали; не задавайте им вопросов об их состоянии, принимайте решение и затем говорите им, что делать».

В случае запроса объекта данных для информации, я не думаю, что мы нарушаем этот принцип.

Рассмотрите возможность отображения отчета или пользовательского интерфейса с информацией «Персона». Я не вижу большой альтернативы тому, чтобы сказать "Как тебя зовут?" Обратите внимание, что мы не выполняем никаких «скажите им, что делать».

3 голосов
/ 02 августа 2009

Технически, разве вы не говорите им что-то рассказать о себе, когда вы спрашиваете их о себе?

ООП иногда причиняет мне головную боль, я никогда не знаю, когда перестать думать и начать писать, или перестать писать и начать думать: X

...