Clean Architecture
Questa sezione documenta l'architettura Clean/Hexagonal adottata in VISLA per garantire codice testabile, manutenibile e indipendente dai framework.
Principi Fondamentaliβ
Separazione a Cerchi Concentriciβ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β INFRASTRUCTURE β
β (Database, Redis, HTTP, External APIs) β
β βββββββββββββββββββββββββββββββββββββββββββββ β
β β APPLICATION β β
β β (Use Cases, Orchestrazione) β β
β β βββββββββββββββββββββββββββββββββ β β
β β β DOMAIN β β β
β β β (Entities, Business Rules) β β β
β β β β β β
β β βββββββββββββββββββββββββββββββββ β β
β βββββββββββββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
La Regola delle Dipendenzeβ
Le dipendenze del codice sorgente puntano solo verso l'interno.
- Il Domain non conosce nulla dell'esterno
- L'Application conosce solo il Domain
- L'Infrastructure implementa le interfacce del Domain
Applicazione in VISLAβ
| Tecnologia | Pattern Architetturale |
|---|---|
| FastAPI Services | Clean Architecture con Use Cases |
| Spring Boot (Decoder) | Hexagonal con Ports & Adapters |
| iOS (Swift) | MVVM + Services + Repository |
| Android (Kotlin) | MVVM + Use Cases + Repository |
Documentazione Disponibileβ
ποΈ Clean Architecture per Microservizi FastAPI
Introduzione
ποΈ Use Cases Pattern
Cos'Γ¨ un Use Case?
ποΈ Dependency Injection Container
Cos'Γ¨ il DI Container?