Arquitectura de ISValidatorEn esta página se describe la filosofía y arquitectura de desarrollo que se aplica en las rutinas ISValidator. Puede encontrar una información más detallada de cada componente en las páginas dedicadas a cada tipo de componente: Restricciones, Contenedores, MetaContenedores, Procesadores Validos, Procesadores Inválidos Si quiere ver ejemplos comentados de las rutinas, dispone de la página de ejemplos para ello FilosofiaLa filosofía con que se ha diseñado ISValidator gira entorno a la información. Pensemos en una información atómica, como puede ser el nombre de una persona que se introduce en nuestro sistema, bien sea mediante una interface de consola, web, etc... Sobre esta información normalmente se debe realizar una serie de procesos: debe ser modelizada, validada y procesada, tanto si es correcta como si no. Normalmente a la hora de realizar la gestión de una información determinada esta no es a la única que tenemos que gestionar, suele haber más informaciones, como puede ser el primer apellido, el segundo, etc... Normalmente una determinada información puede sufrir una validación por diferentes restricciones, pongamos por ejemplo que a un nombre se le puede aplicar la restricción de que sea de un determinado tamaño y no contenga números. Son dos restricciones sobre una única información. También se suele dar el caso de que las restricciones que tiene que cumplir una información estén condicionadas por otras informaciones. Pongamos por ejemplo el típico cuestionario en el que si se contesta a una respuesta afirmativamente se debe contestar una serie de preguntas, que si se ha contestado negativamente no hay que contestar. En este caso las restricciones que tienen que cumplir estas otras preguntas varían según la pregunta que discrimina. Si la información a validar proviene de una interacción con el usuario y esta no es válida normalmente habrá de hacerse saber a este para su corrección. ComponentesPara modelizar esta situación las rutinas ISValidator se basan en una serie de componentes:
|