Advertisement
Advertisement

More Related Content

Slideshows for you(20)

Similar to Le Comptoir x La Duck Conf - Architecture Hexagonale & Clean architecture : bonnet blanc, blanc bonnet ?(20)

Advertisement

More from OCTO Technology(20)

Advertisement

Le Comptoir x La Duck Conf - Architecture Hexagonale & Clean architecture : bonnet blanc, blanc bonnet ?

  1. 1 Coin Coin ! La Duck Conf by OCTO Technology © 2023 - All rights reserved X
  2. 2 Coin Coin ! La Duck Conf by OCTO Technology © 2023 - All rights reserved 12/01/2023 Architecture hexagonale & Clean architecture : bonnet blanc, blanc bonnet ?
  3. Coin Coin ! 3 La Duck Conf by OCTO Technology © 2023 - All rights reserved Christophe Breheret-Girardin, 23 ans d’XP Présentation Coach craft Auditeur technique Formateur Conférencier Développeur Tech lead Architecte
  4. Coin Coin ! 4 La Duck Conf by OCTO Technology © 2023 - All rights reserved Un peu d’histoire 01
  5. Coin Coin ! 5 La Duck Conf by OCTO Technology © 2023 - All rights reserved Database Driven Development Autour des années 2000 Première décision
  6. Coin Coin ! 6 La Duck Conf by OCTO Technology © 2023 - All rights reserved Installation d’un bug tracker Autour des années 2000 Deuxième décision
  7. Coin Coin ! 7 La Duck Conf by OCTO Technology © 2023 - All rights reserved Et place au code… Autour des années 2000
  8. Coin Coin ! 8 La Duck Conf by OCTO Technology © 2023 - All rights reserved Architecture spaghetti ● “Big ball of mud” en anglais ○ Avant les années 2000 ○ Quoique… ● Illusion de vitesse, mais… ○ Non testable automatiquement ○ Onboarding compliqué ○ Souffrance en maintenance ○ Souffrance à faire évoluer
  9. 9 Coin Coin ! La Duck Conf by OCTO Technology © 2023 - All rights reserved Architecture spaghetti dans la vraie vie
  10. Coin Coin ! 10 La Duck Conf by OCTO Technology © 2023 - All rights reserved Architecture en couches Ce que les gens pensaient La réalité ● La modélisation objet est transverse ● Les frameworks sont transverses ● Structuration par couches sur tous les périmètres applicatifs
  11. 11 Coin Coin ! La Duck Conf by OCTO Technology © 2023 - All rights reserved Architecture en couches dans la vraie vie https://www.notretemps.com/droit-argent/logement/inondations -connaitre-les-risques-de-crues-pres-de-chez-vous-19373
  12. Coin Coin ! 12 La Duck Conf by OCTO Technology © 2023 - All rights reserved Les microservices Division en “petits” services La réalité
  13. 13 Coin Coin ! La Duck Conf by OCTO Technology © 2023 - All rights reserved Certains microservices dans la vraie vie https://www.universfreebox.com/article/535420/fibre-optique-face-aux-critiques-malfaco ns-et-autres-problemes-sfr-promet-dameliorer-lentretien-de-ses-reseaux-mais
  14. 14 Coin Coin ! La Duck Conf by OCTO Technology © 2023 - All rights reserved La construction d’un périmètre se base sur une architecture logicielle ● Ce système doit être maintenu ○ De plus, il évolue ○ Doit s’effectuer avec le moins de douleur possible ● L’architecture logicielle est donc centrale dans le dispositif ○ Doit notamment protéger la valeur des intempéries techniques L’architecture logicielle
  15. 15 Coin Coin ! La Duck Conf by OCTO Technology © 2023 - All rights reserved ● La valeur principale de notre applicatif est : ○ Le métier ○ Un métier complexe ● Pourquoi ? Car c’est : ○ La raison d’être du coeur d’une application ○ La valeur business ou client ○ Ce qui est différenciant par rapport à la concurrence ○ Ce qui est le plus pérenne ■ vs la technologie ■ vs les librairies La valeur ?
  16. 16 Coin Coin ! La Duck Conf by OCTO Technology © 2023 - All rights reserved Démocratisation des pratiques 2000 Aujourd’hui Nouvelles technologies 2015 Test Driven Development Tests unitaires (où l’unité = comportement) Hexagonal/Clean architecture Domain Driven Design Clean code Collaboration métier / dev / ops Déploiement continu Culture produit Tests manuels Architecture spaghetti Code bas niveau Cycle en V Pyramide des tests automatisés Tests unitaires (où l’unité = petite portion de code) Couverture de code Modèle en couches Frameworks Intégration continue Agilité 2023 Etablissement de bonnes pratiques Software craftsmanship / devops Blog
  17. Coin Coin ! 17 La Duck Conf by OCTO Technology © 2023 - All rights reserved L’architecture hexagonale 02
  18. Coin Coin ! 18 La Duck Conf by OCTO Technology © 2023 - All rights reserved Isolation de la valeur
  19. Coin Coin ! 19 La Duck Conf by OCTO Technology © 2023 - All rights reserved Hexagonal architecture d’Alistair Cockburn (2005)
  20. Coin Coin ! 20 La Duck Conf by OCTO Technology © 2023 - All rights reserved Comment pérenniser l’hexagone ? Sauf si…
  21. Coin Coin ! 21 La Duck Conf by OCTO Technology © 2023 - All rights reserved Architecture port et adapter
  22. Coin Coin ! 22 La Duck Conf by OCTO Technology © 2023 - All rights reserved Gauche / droite ?
  23. Coin Coin ! 23 La Duck Conf by OCTO Technology © 2023 - All rights reserved Architecture évolutive Repousser les choix techniques
  24. Coin Coin ! 24 La Duck Conf by OCTO Technology © 2023 - All rights reserved Mais c’est quoi un port ? C’est quoi un adapter ? Chambre Prix Hotel
  25. Coin Coin ! 25 La Duck Conf by OCTO Technology © 2023 - All rights reserved Taille des ports ? OU
  26. Coin Coin ! 26 La Duck Conf by OCTO Technology © 2023 - All rights reserved Echange de données L’hexagone ne connaît pas la technologie des adapters La partie “intérieure” ne doit pas fuir dans la partie “extérieure”
  27. Coin Coin ! 27 La Duck Conf by OCTO Technology © 2023 - All rights reserved La clean architecture 03
  28. Coin Coin ! 28 La Duck Conf by OCTO Technology © 2023 - All rights reserved Clean architecture par Robert C. Martin en 2012
  29. Coin Coin ! 29 La Duck Conf by OCTO Technology © 2023 - All rights reserved Enterprise business rules Application business rules Parallèle avec l’hexagonal architecture
  30. Coin Coin ! 30 La Duck Conf by OCTO Technology © 2023 - All rights reserved Enterprise business rules Application business rules Et la technologie ? Sauf si…
  31. Coin Coin ! 31 La Duck Conf by OCTO Technology © 2023 - All rights reserved Mise en oeuvre du use case
  32. Coin Coin ! 32 La Duck Conf by OCTO Technology © 2023 - All rights reserved Cercles concentriques sous forme hexagonale
  33. Coin Coin ! 33 La Duck Conf by OCTO Technology © 2023 - All rights reserved Screaming architecture Taille des ports ?
  34. Coin Coin ! 34 La Duck Conf by OCTO Technology © 2023 - All rights reserved Interface adapter Echange de données Les “interface adapters” convertissent les données dans le format le plus pratique pour le use case
  35. Coin Coin ! 35 La Duck Conf by OCTO Technology © 2023 - All rights reserved Bilan 04
  36. Coin Coin ! 36 La Duck Conf by OCTO Technology © 2023 - All rights reserved Questionnaire Konbini Clean Hexagonal
  37. Coin Coin ! 37 La Duck Conf by OCTO Technology © 2023 - All rights reserved Parfois aucun des deux Non adapté Adapté
  38. Coin Coin ! 38 La Duck Conf by OCTO Technology © 2023 - All rights reserved Les avantages communs Sujet Hexagonal Clean Découplage, isolation Flexibilité Pérennité Testabilité Repousser les choix techniques Front / Back
  39. Coin Coin ! 39 La Duck Conf by OCTO Technology © 2023 - All rights reserved Un niveau de guidage différent Sujet Hexagonal Clean Abstraction / interface / contrat / rôle Imposé(e) côté server-side Imposé(e) partout Taille des ports Pas de positionnement 1 use case = 1 fichier (screaming architecture) Echange d’information L’intérieur ne doit pas fuir Retour classique puis le contrôleur doit s’occuper du formatage / présentation des données Plus de détail sur le rôle des couches externes Utilisation d’un "présenter" permettant de découpler les responsabilités de présentation des données
  40. Coin Coin ! 40 La Duck Conf by OCTO Technology © 2023 - All rights reserved Une terminologie différente
  41. 41 Coin Coin ! La Duck Conf by OCTO Technology © 2023 - All rights reserved Les 3 éléments importants à retenir ● Un objectif commun ■ Isoler la valeur métier ● Mais avec une terminologie différente ● Apporte des avantages et inconvénients communs ■ Découplage, flexibilité, mieux structuré, etc. ■ Pas de guidage pour le design du métier ■ Pas adapté à toutes les situations ● Propose un niveau de guidage différent ■ Screaming architecture ■ Interfaces partout ou non ■ Retour des informations
  42. Coin Coin ! 42 La Duck Conf by OCTO Technology © 2023 - All rights reserved Mais peux-tu répondre à la question ? Clean Hexagonal
  43. Coin Coin ! 43 La Duck Conf by OCTO Technology © 2023 - All rights reserved Ma réponse La clean archigonale
  44. Coin Coin ! 44 La Duck Conf by OCTO Technology © 2021 - All rights reserved
  45. Coin Coin ! 45 La Duck Conf by OCTO Technology © 2023 - All rights reserved
Advertisement