Xavier Lamorlette

Architecture Patterns

Sommaire :

Découpage des applications

Monolithe

Un seul executable.

N-tier

Plusieurs tiers, séparés par des frontières techniques.
Notamment : 3 tiers : présentation (client) - logique (serveur) - base de données.

Orchestrateur

L'orchestrateur coordonne les interactions et les flux de données entre les différents services.

Architecture orientée service

Plusieurs services, chacun responsable d'une activité.
Les services communiquent entre eux via un Enterprise Service Bus (ESB).

Microservices

Architecture orientée service, mais décentralisée, sans ESB : les micro-services s'appellent directement les uns les autres.
Les microservices sont déployés indépendamment et automatiquement. Ils sont autonomes et observables.

Application sans serveur

Fonctions indépendantes, à courtes durées de vie, qui s'exécutent à la demande, dans des containeurs.
On s'appuie sur une plateforme function as a service.

Per to peer

Des applications en réseau communiquent sans serveur central.
Les applications sont intermittentes et se découvrent dynamiquement (éventuellement avec un serveur central juste pour cela).
C'est utile pour partager des ressources.

Structure des applications

Couches

Chaque couche appelle la couche en-dessous (jamais le contraire).

Micro-noyau / Plugin

Le noyau contient la logique de base, étendue par des plugins.

Command Query Responsibility Segregation (CQRS)

Les opérations d'écriture et de lecture sont complètement séparées, en agissant sur deux bases de données synchronisées.

Event Sourcing

On enregistre les évènements au lieu du dernier état.
Pour connaitre l'état, on rejoue les évènements (réhydratation). Pour optimiser, on peut partir d'instantanés (snapshots).

Interfaces utilisateur

Model - View - Controller (MVC)

Permet de séparer la représentation interne des données de leur présentation à l'utilisateur.


Model - View - Presenter (MVP)


Model - View - View Model (MVVM)

Divers

Transactions ACID

Pour être fiable, une transaction doit répondre aux critères suivants :

Data - Context - Interaction (DCI)

Ce motif permet de séparer le comportement du système du domaine de connaissances.

Entity - Component - System (ECS)

Ce motif est utilisé pour les jeux vidéos. Les objets, entities, sont crées par composition de components, qui ne contiennent que des données :


À étudier :

La dernière mise à jour de cette page date de juillet 2023.

Le contenu de ce site est, en tant qu'œuvre originale de l'esprit, protégé par le droit d'auteur.
Pour tout commentaire, vous pouvez m'écrire à xavier.lamorlette@gmail.com.