Cette formation propose une immersion progressive dans la pensée orientée objet, au-delà des simples concepts techniques enseignés traditionnellement.
Elle explore la philosophie sous-jacente, les vrais critères d’un bon design OO, et la modélisation métier centrée sur les objets.
En alliant rigueur technique (patterns, SOLID, Clean Architecture) et agilité, elle prépare les développeurs à concevoir des systèmes durables.
Elle introduit également les fondements du Domain-Driven Design et les patterns avancés de découpe modulaire. L’objectif est de faire émerger une pensée architecturale orientée métier, moderne et évolutive.
Présentation de la philosophie et de la pensée derrière le développement de l’orienté objet, qui n’est ni enseignée dans les écoles/formations ni bien comprise par la vaste majorité des développeurs modernes
Introduire les développeurs au véritable design orienté objet et d’enseigner les notions primordiales qui nous permettent de dire "Ce code là est véritablement orienté objet !"
Développer une façon de pensée objet dans lequel les objets, tirés de la vie réelle et empruntant naturellement un vocabulaire métier, sont représentés dans le code et permettent un dialogue simple entre la technique et les experts métiers (SMEs, ou Subject Matter Expert)
Explorer les aspects techniques du design orienté objet et l’univers des patterns, et réaliser que les Design Patterns ne sont qu’une goutte d’eau dans l’univers des patterns objet. Comprendre les forces à l’œuvre dans une application orienté objet et maîtriser cette complexité technique grâce aux principes SOLID et à la Clean Architecture.
Apprendre comment introduire le développement orienté objet dans un contexte agile, sans avoir à penser en amont à tous les besoins ni à faire du Big Design Up-Front, mais en se concentrant sur le besoin actuel et en restant Lean.
Réaliser les limites du design orienté objet lorsqu’il n’est pas cadré et expliquer de quelle façon le Domain-Driven Design est né de ces limitations, et comment le Domain-Driven Design résout la majorité des problèmes natifs à la compréhension qu’on avait de l’OO
Enfin comprendre le concept clé de Bounded Context et de Domain Model, et apprendre à exploiter ces notions sur des applications tirés de la vie réelle Explorer les patterns spécifiques au DDD tels que les Services, les Repository, l’Event-Driven Programming, et surtout les Aggregates, et maîtriser en profondeur l’aspect technique du DDD
Découvrir très brièvement, de façon introductive, d’autres outils beaucoup plus avancés et plus complexes nécessaires pour réaliser une découpe modulaire (Modular Monolith) et une pensée en Micro-Services avec des patterns tel que l’Eventual Consistency, les Sagas et les Transactional Patterns. Ces sujets seront abordés plus en profondeur dans une autre formation intitulée Domain-Driven Design - Techniques Avancées