Skip to content

Plan de consistencia: cambios y aceptación ​

Índice · Revisión de usabilidad

1. Una política de aceptación ​

Añadir DomainValidationRule.FromFactory para convertir el resultado de una fábrica en una definición de plataforma. Ejecutar la fábrica una vez, conservar su mensaje de rechazo y usar un código público explícito. No transformar la entrada ni conservar valores exitosos como evidencia.

Criterio: las mismas entradas producen la misma aceptación en fábrica, plan y validador de entidad. Se prueban espacios externos, ausencia, formato inválido y longitud excesiva.

2. Adaptación asíncrona y cancelación ​

Seleccionar automáticamente el adaptador síncrono o asíncrono en WithRules. Transmitir cancelación dentro de los planes síncronos evaluados por la entrada asíncrona. Conservar el rechazo síncrono de planes asíncronos y la restricción de invariantes locales.

Criterio: cancelar en una hoja evita ejecutar la siguiente; las consultas reciben el token original; una dependencia fallida evita consultas; las invariantes rechazan planes asíncronos.

3. Opciones por ejecución ​

Añadir sobrecargas de entidad y modelo con RuleEvaluationOptions. Aplicar cortocircuito entre registros de entidad y dentro de planes. Añadir ModelValidator.EvaluateAsync para obtener reportes también en éxito.

Criterio: las opciones predeterminadas acumulan; ShortCircuit evita trabajo posterior; Trace conserva nodos en reportes exitosos. Reglas personalizadas mantienen su implementación interna.

4. Vistas de diagnóstico ​

Añadir ForField para errores de dominio usando el enum común DiagnosticView. Seguir ramas con rutas e índices, evitar ciclos por identidad y conservar apariciones compartidas en ramas distintas. Mantener GetDomainDiagnostics sin cambiar su contrato.

Criterio: un plan con alternativas ofrece los mismos códigos en Summary, Details y All antes y después de adaptarlo al dominio.

5. Configuración predecible ​

Permitir agregar varias composiciones al modelo mediante WithRules, igual que en entidad. Cada composición es independiente y la configuración anterior permanece reutilizable. Documentar diferencias de builders, condiciones y configuraciones vacías.

Criterio: varios planes se ejecutan sin sobrescribir los anteriores; una secuencia sigue siendo necesaria para dependencias.

6. Documentación y contratos ​

Organizar páginas por motivación y flujos: valores, invariantes, operaciones, persistencia y diagnósticos. Verificar ejemplos ejecutables de cliente y reserva, contratos de dominio y plataforma y compilación.

La ubicación de contratos compartidos de errores se conserva. No se cambia la semántica histórica de Required, When, conjuntos predeterminados ni invariantes síncronas. Las diferencias y los cambios nuevos se describen en migración.

Uso personal limitado. Uso comercial sujeto a autorización escrita.