46 liens privés
La "Clean Architecture" va bien au-delà d'une simple organisation de fichiers. Bien que souvent représentée par des couches comme Domain, Application, Infrastructure et UserInterface, son principe fondamental réside dans le sens des dépendances, qui doivent toujours pointer vers l'intérieur. Cela signifie que les règles métier (Domain) ne doivent pas dépendre des détails techniques (couches extérieures), permettant ainsi d'isoler la logique métier et de faciliter les tests et les évolutions du code. Cette approche, illustrée par les principes SOLID, favorise la flexibilité et la modularité, rendant le code plus résilient aux changements. Bien que l'arborescence des dossiers soit un outil pratique pour visualiser et organiser le code, l'essentiel est de se concentrer sur l'indépendance des couches métier vis-à-vis des dépendances techniques.
Tout est dans le titre
Cet article fait partie de ceux listés dans https://schlitt.info/blog/0784_best_of_posts_for_engineers.html
L'auteur préconise de ne pas utiliser des noms de classes en paramètre d'une méthode car cela casse le principe d'inversion de dépendance entre autres.
Un exemple de refactoring d'une classe pour appliquer le principe d'inversion de dépendance
Il s'agit de l'article à propos du "D" de SOLID :-)
Tout est dans le titre
L'auteur montre l'intérêt du principe d'inversion des dépendances pour tester efficacement des fonctionnalités sans se préoccuper de certains détails d'implémentation comme l'utilisation d'une base de données, etc.
Plein de conférences intéressantes :)
- L'état de la SPL dans PHP7
- Dependency Injection & Dependency Inversion
- API GraphQL
- Marier ReactJS et Symfony
- Object Calisthenics
- ReactPHP / PHP PM
- Tagua VM
- Opcode ? Mais à quoi ça sert ?
- PSRs : quoi, pourquoi et comment ?
- phpSpec : tests unitaires en Behavior Driven Development
- Les panama papers (Neo4j)
- Varnish : comment switcher sa prod sur un Raspberry Pi
De très bons conseils sur l'architecture logicielle, ce qu'elle est et ce qu'elle n'est pas