#Java
16 articles avec ce tag.
Architecture logicielle
Architecture hexagonale
L'architecture hexagonale (Ports & Adapters) place le métier au centre et le connecte au monde extérieur via des ports — des interfaces définies par le métier — implémentés par des adaptateurs interchangeables. La base de données, l'API REST ou la CLI ne sont que des détails branchés sur ces ports.
Intermédiaire
·
6 min
Architecture logicielle
Clean Architecture expliquée simplement
La Clean Architecture organise le code en cercles concentriques : le métier au centre, les détails techniques (base de données, framework, UI) à l'extérieur. La règle est simple — les dépendances ne pointent jamais vers l'extérieur.
Avancé
·
5 min
Architecture logicielle
Couplage fort vs faible
Le couplage mesure à quel point un composant dépend d'un autre. Un couplage fort rend le système fragile et difficile à faire évoluer ; un couplage faible, obtenu via des interfaces et l'injection de dépendance, permet de changer une implémentation sans toucher au code qui l'utilise.
Débutant
·
5 min
Architecture logicielle
Domain Driven Design (DDD)
Le Domain Driven Design (DDD) est autant une démarche de modélisation métier qu'une technique de code. Il propose un vocabulaire partagé avec les experts métier, des frontières explicites entre sous-domaines (bounded context), et des règles précises pour modéliser entités, value objects et agrégats.
Avancé
·
6 min
Design Patterns
Le Pattern Abstract Factory expliqué simplement
L'Abstract Factory va plus loin que la Factory simple : elle garantit qu'un ensemble d'objets liés entre eux (une famille) reste toujours cohérent, en regroupant plusieurs méthodes de création derrière une seule interface.
Avancé
·
5 min
Design Patterns
Le Pattern Adapter expliqué simplement
Le Adapter Pattern permet à deux interfaces incompatibles de fonctionner ensemble, sans modifier ni l'une ni l'autre. Il s'intercale entre le code appelant et une librairie tierce pour traduire les appels d'un contrat vers un autre.
Débutant
·
5 min
Design Patterns
Le Pattern Builder expliqué simplement
Le Builder Pattern sépare la construction d'un objet complexe en une série d'étapes chaînées, chacune configurant une partie de l'objet. Il évite les constructeurs à rallonge et rend le code de construction lisible, même avec de nombreux paramètres optionnels.
Intermédiaire
·
5 min
Design Patterns
Le Pattern Decorator expliqué simplement
Le Decorator Pattern permet d'ajouter dynamiquement des responsabilités à un objet, en l'enveloppant dans une ou plusieurs couches qui respectent la même interface. Une alternative à l'héritage quand les combinaisons de comportements se multiplient.
Intermédiaire
·
5 min
Design Patterns
Le Pattern Dependency Injection expliqué simplement
L'injection de dépendances (Dependency Injection) consiste à fournir à un objet ce dont il a besoin depuis l'extérieur, plutôt que de le laisser construire lui-même ses dépendances. Un principe simple qui rend le code testable et remplaçable.
Intermédiaire
·
6 min
Design Patterns
Le Pattern Factory expliqué simplement
Le Factory Pattern encapsule la logique de création d'un objet dans une méthode ou une classe dédiée, plutôt que de disperser des `new` conditionnels dans tout le code. Le client dépend d'une interface, jamais des classes concrètes créées derrière.
Intermédiaire
·
4 min
Design Patterns
Le Pattern Observer expliqué simplement
L'Observer Pattern définit une relation un-à-plusieurs : quand un objet change d'état, tous ses abonnés sont notifiés automatiquement, sans que l'émetteur ait besoin de connaître leur nature exacte. C'est le pattern derrière les event listeners et les systèmes pub/sub.
Intermédiaire
·
5 min
Design Patterns
Le Pattern Repository expliqué simplement
Le Repository Pattern cache les détails de stockage (SQL, ORM, API externe) derrière une interface orientée métier. Le domaine manipule des objets, pas des requêtes — l'implémentation concrète du stockage reste un détail interchangeable.
Intermédiaire
·
6 min
Design Patterns
Le Pattern Singleton expliqué simplement
Le Singleton garantit qu'une classe n'a qu'une seule instance, accessible depuis n'importe où dans l'application. Pratique en apparence, mais c'est aussi l'un des patterns les plus critiqués : il introduit un état global qui rend le code difficile à tester et à faire évoluer.
Débutant
·
4 min
Design Patterns
Le Pattern Strategy expliqué simplement
Le Strategy Pattern permet de faire varier un comportement indépendamment du code qui l'utilise. Au lieu d'empiler des `if/else`, on encapsule chaque variante dans sa propre classe, interchangeable à tout moment.
Intermédiaire
·
4 min
Architecture logicielle
Séparation des responsabilités
Séparer les responsabilités, ce n'est pas seulement écrire des petites classes : c'est isoler chaque raison de changer dans sa propre unité, que ce soit une classe, un module ou une couche entière du système. Bien fait, un changement métier ne touche qu'un seul endroit du code.
Débutant
·
5 min
Architecture logicielle
SOLID expliqué simplement
SOLID est un acronyme regroupant cinq principes de conception orientée objet formulés par Robert C. Martin : Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation et Dependency Inversion. Ensemble, ils visent un seul objectif : pouvoir faire évoluer le code sans le casser.
Intermédiaire
·
6 min