Está en: Inicio >> ISValidator >> ArquitecturaLunes 5 de Mayo de 2025
SourceForge Logo
ISValidator
Presentacion
Arquitectura
Download
Ejemplos
To-Do
Cambios
Más información
ISDirValidator
Presentacion
En SF.net
Resumen
Download
Noticias
In English
ISValidator

Página... Arquitectura

Arquitectura de ISValidator

En 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

Filosofía de las rutinas

La 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.

Componentes de ISValidator

Para modelizar esta situación las rutinas ISValidator se basan en una serie de componentes:

  • Restricciones que se modelizan como Constraints.
  • Informaciones atómicas que se modelizan como ConstraintsContainer.
  • Conjuntos de Informaciones Atómicas que se modelizan como MetaContainers.
  • Procesos de la información que se modelizan como InValidConstraintProcessor y ValidConstraintProcessor

Restricciones

Las restricciones a aplicar a una determinada información se modelizan mediante la interface Constraint y sus correspondientes implementaciones. Para obtener una lista de todas las restricciones actualmente desarrolladas puede consultar la página restricciones.

Cada instancia de una restricción está asociada obligatoriamente a una única información (ConstraintContainer). Normalmente las restricciones proporcionan la posibilidad de utilizarse sin tener que estar asociadas a una información (ConstraintContainer) mediante la implementación de un método estático que realiza la validación pasándole el valor a validar. Esta forma de operar no es la más habitual cuando se manejan varias informaciones, pero puede ser útil para validaciones de un único dato.

Estos componentes son los encargados de realizar la función de validación descrita en la presentación

Informaciones atómicas

Las informaciones atómicas se modelizan mediante la interface ConstraintContainer, ya que la función que realizan es la de contener las restricciones a aplicarse a la información. Para obtener una lista de todos los ConstraintContainers actualmente desarrollados puede consultar la página de Contenedores.

Dentro de las funciones que realiza se encuentra el manejar el flujo de control entre los diferentes componentes que forman las rutinas.

Cada información atómica normalmente estará representada por un único ConstraintContainer

Estos componentes, junto con los metacontenedores son los encargados de realizar la función de modelización descrita en la presentación

Conjuntos de Informaciones atómicas

Los conjuntos de informaciones atómicas se modelizan mediante la interface MetaContainer, ya que la función que realizan es la de contener contenedores. Para obtener una lista de todos los MetaContainers actualmente desarrollados puede consultar la página de MetaContenedores.

Estos componentes son opcionales aunque normalmente facilitan el trabajo de manejar varias informaciones atómicas, al agruparlas.

Estos componentes, junto con los contenedores son los encargados de realizar la función de modelización descrita en la presentación

Procesos de la información

Los procesos de la información se modelizan mediante dos interfaces dependiendo de si la información es válida o por el contrario no lo es. Para procesar la información válida se utiliza la interface ValidConstraintProcesor y para la información inválida se utiliza la interface InValidConstraintProcessor. Para obtener una lista de todos los ValidConstraintProcessor actualmente desarrollados puede consultar la página de Procesadores Validos. Si quiere obtener la lista de los inválidos puede consultar la página de Procesadores Inválidos.

Estos componentes son totalmente opcionales, realizando la función de procesamiento descrita en la presentación




Iñigo Serrano todos los derechos reservados.
Queda prohibida la reproducción total o parcial del contenido aquí expuesto.