OOP 设计 - 在何处/何时验证属性?
我读过几本关于OOP DDD/PoEAA/Gang of Four的书,但似乎都没有涵盖验证的主题 - 似乎总是假设数据是有效的。
我从这篇文章的答案(OOP设计问题 - 验证属性)中收集到客户端应该只尝试在域对象上设置有效的属性值。
这个人问了一个类似的问题,但仍然没有答案:http://bytes.com/topic/php/answers/789086-php-oop-setters-getters-data-validation#post3136182
那么,如何确保它是有效的呢?您是否在每个获取器和 setter 旁边都有一个“验证器方法”?
- isValidName()
- setName()
- getName()
我似乎缺少一些关于OOP数据验证的关键基础知识 - 你能给我指出一本详细介绍这个主题的书吗?- 即。涵盖不同类型的验证/不变量/处理反馈/使用异常或不使用异常等