He leído algunos libros sobre OOP DDD/PoEAA/Gang of Four y ninguno de ellos parece abarcar el tema de la validación; parece que siempre se asume que los datos son válidos.OOP Design - Where/Where do Validate properties?
que deduzco de las respuestas a este post (OOP Design Question - Validating properties) que un cliente sólo debe tratar de establecer un valor propiedad válida en un objeto de dominio.
Esta persona ha hecho una pregunta similar que sigue sin respuesta: http://bytes.com/topic/php/answers/789086-php-oop-setters-getters-data-validation#post3136182
Entonces, ¿cómo asegurarse de que es válida? ¿Tiene un 'método de validación' junto con cada getter y setter?
- isValidName()
- setName()
- getName()
Me parece que faltan algunos conocimientos básicos clave sobre la validación de datos orientada a objetos - puede que me señale un libro que cubre este tema en detalle? - es decir. que cubre diferentes tipos de validación/invariantes/manejo de comentarios/para usar excepciones o no, etc.
sólo para añadir que, después de un poco más de investigación, he encontrado esto útil: http://devcity.net/Articles/381/1/article.aspx –