Votre réaction à l'évocation de cette question est :
vous avez peur ... très peur
vous avez mal au budget
vous êtes très satisfait du framework choisi par l'archi il y a quelques années et qui n'a pas pris une ride b...
Vous avez déjà essayé de changer de framework ?
Votre réaction à l'évocation de cette question est :
vous avez peur ... très peur
vous avez mal au budget
vous êtes très satisfait du framework choisi par l'archi il y a quelques années et qui n'a pas pris une ride bien sur
Si vous vous reconnaissez dans une de ces trois réponses, alors peut-être qu'une architecture héxagonale vous aurait aidé.
Size: 5.07 MB
Language: fr
Added: Feb 03, 2017
Slides: 19 pages
Slide Content
ARCHITECTUREARCHITECTURE
HÉXAGONALEHÉXAGONALE
HUMAN TALKS LYONHUMAN TALKS LYON
11 OCTOBRE 11 OCTOBRE 20162016
EN 10 MINUTES !EN 10 MINUTES !
JEAN DETOEUFJEAN DETOEUF
DÉVELOPPEURDÉVELOPPEUR
Pa s s i o n n é d e n o u v e l l e s t e c h n o l o g i e s
#jvm #docker #cra!smanship #rpi #diy
Qui a déjà tenté de changer de framework (DI, ORM, ...) ?
C'est galère ?
Code framework au milieu du code métier
Difficulté pour changer de framework
Te s t s t r o p l o u r d s
ARCHITECTURE EN COUCHEARCHITECTURE EN COUCHE
Simple à comprendre
Montre le flux de données
ARCHITECTURE EN COUCHEARCHITECTURE EN COUCHE
Simple avec une couche de présentation et une couche de
persistence
Les couches se mélangent dans le code
ARCHITECTURE HÉXAGONALEARCHITECTURE HÉXAGONALE
Pe r m et d ' i s o l e r l e co d e m ét i e r d u co d e d ' i n f ra s t r u c t u r e
Agnostique : amenez votre langage préféré
Fra m e w o r k k i l l e r
LANCEMENT D'UN PROJETLANCEMENT D'UN PROJET
Reporter les choix techniques
Connaissance métier limitée en début de projet
Te m p s
Connaissance
métier
CO N C E P TCO N C E P T
Code métier sans bibliothèque ni framework
Code technique dans des modules séparés
Métier
API REST
BDD Oracle
BDD
Cassandra
IHM
Alertes
Messaging
TESTS SIMPLIFIÉSTESTS SIMPLIFIÉS
Découpage des taches simplifié
TDD : dev/test métier, puis autres modules
Te s t s m é t i e r s a n s a v o i r à g é r e r l ' i n f r a
Va l i d a t i o n ra p i d e d u m ét i e r
ON COMMENCE QUAND ?ON COMMENCE QUAND ?
nouveau projet : simple à mettre en place
projet existant : démêlage de spaghettis
PERSPECTIVESPERSPECTIVES
Changer de framework
Changer de BDD
Migrer une partie des données (ie. SQL vers NoSQL)
Ajouter une interface (API, messaging, autre IHM)
PERMÉABILITÉPERMÉABILITÉ
Impossible d'utiliser du code "infra" dans le module
"métier"
Rien n'empêche d'avoir du code "métier" qui se retrouve
dans les modules "infra"
RETOUR D'EXPÉRIENCERETOUR D'EXPÉRIENCE
C'est le code "métier" qui va diriger le code "infra"
Penser à la performance (ie requête SQL dans une boucle)
DANS QUELS CAS NE PAS L'UTILISERDANS QUELS CAS NE PAS L'UTILISER
Fra m e w o r k
Librairie
Module technique
PREMIER PAS VERS LE DDDPREMIER PAS VERS LE DDD
Faire communiquer plusieurs héxagones, chacun
représentant un métier séparé
Un amateur pour faire une présentation du DDD ?
QUESTIONS ?QUESTIONS ?
MERCI POUR VOTRE ÉCOUTEMERCI POUR VOTRE ÉCOUTE
Cette présentation :
@thebignet
thebignet
ta l k- a rc h i - h exa