Pregunta

Hay una gran cantidad de tipos "primitivos" placa de la caldera de las clases de datos que pudieran aparecer en muchos programas diferentes.

Sin embargo, nunca he visto una clase o conjunto de biblioteca que reconoce la necesidad de combinar todas estas cosas con lógica común requerido para ellos, tales como validación.

Ejemplo clases ([] paréntesis corresponden a clases también en la biblioteca hipotético):

Dirección (calle, código postal, ciudad, estado / territorio / provincia, país)
Persona (nombre, información de contacto ([Teléfono] / [E-mail] / etc), [Dirección], SSN / TIN, [la tarjeta de crédito])
Teléfono (número, código de país, etc.)
CreditCard (tipo, número, caducidad, CCV) **

Y estoy seguro de que alguien podría llegar a un montón de otros.

he desarrollado mis propios Teléfono / Dirección / clases Persona / CreditCard que yo uso en proyectos, con la validación y la lógica.

Sin embargo yo sólo soy capaz de validar la información basada en los Estados Unidos. Mi clase de número de teléfono lo ideal sería heredar de una clase base del teléfono, como el mío en realidad separa el número en NPA, NXX y de la estación y valida plenamente con las normas NANP.

¿Hay un conjunto de bibliotecas que hay en la red que tiene una colección completa de tales clases de datos de la placa de la caldera con la validación adecuada?

¿incluye la validación de un mundo amplio conjunto de datos, o sólo los datos de EE.UU.?

Y para el de la tarjeta de crédito **, que es capaz de cumplir con las Normas de Seguridad de Datos PCI?

Sé que son muchas clases de personas probablemente han escrito muchas veces en muchos idiomas diferentes, pero ¿hay alguna biblioteca .NET que fufills estos deseos?

Yo preferiría abre fuente / gratuita, aunque yo consideraría una tercera serie de la biblioteca parte de pago.

¿Fue útil?

Solución

CSLA.NET podría ofrecer cerca de lo yoju're buscando. Probablemente se lo lleva un poco más allá de lo que están pidiendo, pero tiene algunos de los documentos más completa de cualquier marco (es decir publicado libros de APulse). También es gratuita.

En particular, el CSLA.ValidationRules espacio de nombres y las clases CommonRules y customrules se centran en la validación de datos.

Otros consejos

Podría ser útil tener un esquema para las implementaciones típicas de varios objetos al iniciar un proyecto, sin embargo implementaciones reales serían específicas, que requieren comportamientos específicos y requisitos de validación. Esta es probablemente la razón por ORM o comerciales herramientas de generación de marco de objeto requieren un esquema de entrada para crear las clases.

Si existía un marco estándar de la clase, que era de código abierto, se verá que este esquema sería masiva y creciente continuamente, esto haría más difícil mantener una solicitud actualizada. Cada clase y la propiedad de esa clase requeriría una gran cantidad de documentación con formas que podrían ser utilizados, etc, pero esto podría ser subjetiva. Un esquema donde se podía seleccionar lo que quiere y cómo debe ser validado, para ser utilizado en un marco de generación de objetos ORM / negocio podría ser una buena idea y estoy seguro de que no existen en la actualidad.

Se podría tener una mirada en concreto proyectos de código abierto con la funcionalidad y uso similar existente que en busca de inspiración?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top