1.7 KiB
1.7 KiB
Component Dependencies — SlpModularCms.Api
Dit document beschrijft de relaties en communicatiepatronen tussen de componenten.
1. Dependency Diagram
graph TD
API[Web API Shell] --> Core[Core Framework / Identity]
API --> Avail[Availability Module]
Avail --> Core
subgraph "External Modules (Optional)"
Mod[External Module DLL] -.-> Core
end
API -.-> Mod
Tekstuele Toelichting:
- Core Framework: Is de centrale afhankelijkheid. Alle modules refereren naar de Core voor interfaces en Identity modellen. De Core mag zelf NOOIT refereren naar een module (Dependency Inversion).
- Web API Shell: Heeft een harde referentie naar de Core en de Availability Module (voor de MVP stub).
- Modules: Implementeren interfaces uit de Core. Worden door de API Shell geladen en geregistreerd in de DI container.
2. Communicatiepatronen
- In-Process DI: Alle communicatie tussen modules en het framework verloopt via de Dependency Injection container van ASP.NET Core.
- Shared Domain Models: Modules gebruiken de gedeelde
UserenRolemodellen uit de Core voor autorisatie-checks. - Events (Toekomstig): Gebruik van een
IMediatorof intern event-systeem voor ontkoppelde communicatie tussen modules.
3. Data Flow
- Client Request: Komt binnen bij de API Shell.
- Availability Check: Middleware roept
IAvailabilityService(Availability Module) aan. - Authentication: Middleware valideert JWT via Identity logica (Core).
- Authorization: Policy-based checks valideren de rol-hiërarchie (Core).
- Execution: Het request wordt afgehandeld door de relevante Module Controller.