Apariencia
Módulos de Platform y dependencias
Platform es modular: sus capacidades se distribuyen en proyectos con responsabilidades y dependencias explícitas. No es necesario incorporar todos los proyectos para usar una función concreta. Los identificadores siguientes corresponden a la configuración de paquetes del repositorio; consulta también la guía para combinar resultados, errores, localización y validación.
| Paquete | Dependencias de proyecto | Uso |
|---|---|---|
Greencore.Platform.Errors | Ninguna | Modelo de errores y causas |
Greencore.Platform.Concurrency | Ninguna | Sincronización asíncrona y ciclo de vida |
Greencore.Platform.Results | Errors, Concurrency | Resultados, composición, colecciones y streams |
Greencore.Platform.Validators | Errors, Concurrency, Results | Reglas de entidad y miembros |
Greencore.Platform.Localization | Ninguna | Mensajes, plantillas, parámetros y localización |
Greencore.Analysis.Results.Analyzers | Paquetes Roslyn | Analizador experimental; fuera de la solución actual |
Namespaces habituales
| Función | Namespace |
|---|---|
| Errores | Greencore.Platform.Errors |
| Resultados | Greencore.Platform.Results |
| Composición | Greencore.Platform.Results.Extensions |
| Resultados especializados | Greencore.Platform.Results.Specialized |
| Validación | Greencore.Platform.Validators |
| Mensajes localizados | Greencore.Platform.Localization |
| Concurrencia | Greencore.Platform.Concurrency |
| Ciclo de vida | Greencore.Platform.Concurrency.Lifetime |
| Terminación de lectura | Greencore.Platform.Results.terminations |
El namespace de terminación utiliza minúscula inicial en el código actual. Respeta esa escritura al importar tipos.
Integración mínima
Elige módulos según el contrato que necesites: Errors modela fallos y causas; Results comunica desenlaces y depende de Errors y Concurrency; Localization construye mensajes sin depender de la validación; Validators evalúa reglas y usa los contratos que necesita para producir reportes. Puedes integrar sus salidas en tu aplicación, por ejemplo asociando códigos de diagnósticos con mensajes localizados y devolviendo fallos mediante Result<T>. Si solo necesitas sincronización, puedes referenciar Concurrency de forma independiente.
Las aplicaciones de ejemplo no son paquetes distribuibles. Consulta estado y límites para distinguir el núcleo integrado de componentes experimentales.