Hexagonal Architecture

Architecture 🟡 Mid

Definition

Architecture Ports & Adapters ou le domaine expose des ports (interfaces) et les adaptateurs connectent le monde exterieur. Isole le coeur metier.

Analogie

Une prise universelle : le port est le standard, l'adaptateur change selon le pays (DB, API, UI).

Exemple de code

// Port (interface)
interface UserPort { findById(id): User; }
// Adapter
class MongoUserAdapter implements UserPort {
  findById(id) { return mongo.find({ _id: id }); }
}

Cas d'usage

Remplacer facilement une base de donnees ou un service externe sans toucher au domaine.

Anti-pattern

Le domaine qui importe directement mongoose ou prisma — violation du port.
#architecture#interview#architecture-style