Я прочитал несколько книг по ООП DDD/PoEAA/Gang of Four, и ни один из них, похоже, не охватывает тему проверки - кажется, всегда считается, что данные действительны.
Из ответов на этот пост я нахожу (Вопрос о создании ООП - Проверка свойств), что клиент должен только попытаться установить действительный значение свойства для объекта домена.
Этот человек задал аналогичный вопрос, который остается без ответа: http://bytes.com/topic/php/answers/789086-php-oop-setters-getters-data-validation#post3136182
Итак, как вы это гарантируете? У вас есть "метод проверки достоверности" вместе с каждым геттером и сеттер?
- isValidName()
- SetName()
- GetName()
Кажется, мне не хватает некоторых основных базовых знаний о проверке данных OOP - можете ли вы указать мне книгу, которая подробно описывает эту тему? - т.е. охватывающие различные типы валидаций/инвариантов/обработку обратной связи/использование исключений и т.д.