On peut constater que la plupart des développeurs qui utilisent quotidiennement la programmation orientée objet connaissent généralement non seulement ses grands principes (interfaces, classes, héritage, polymorphisme, etc.) mais aussi une ribambelle de design patterns qu’ils essaient de placer un peu partout, sans forcément en connaître les subtilités.
De plus, force est de constater que, du programmeur débutant au développeur émérite, peu d’entre eux connaissent, et savent reconnaître, les mauvaises pratiques (les anti-patterns).Pire encore, beaucoup d’entre eux, trop occupés à appliquer des concepts complexes et pas toujours adaptés, en oublient souvent les bonnes pratiques “de base”. Il en résulte souvent un code difficile à maintenir, difficile à tester, difficile à étendre : une usine à gaz.Constatant que peu de documentation existe en français sur le sujet, j’ai décidé d’écrire une série d’articles qui porteront sur cinq principes de bases, cinq principes fondamentaux de la programmation objet qui, combinés, permettent de produire un code sain et maintenable. Ces principes sont connus sous la forme d’un acronyme : SOLID
L’acronyme SOLID a été inventé par Robert C. Martin aka “Uncle Bob” et signifie
- Single responsibility principle
- Open/closed principle
- Liskov substitution principle
- Interface segregation principle
- Dependency inversion principle
Mon but dans cette série d’articles est d’expliquer de manière simple chacun de ces principes, afin de permettre aux programmeurs même peu expérimentés et frais sortis de l’école d’améliorer significativement la qualité de leur code.
- Agile Software Development, Principles, Patterns, and Practices, ISBN: 978-0135974445, Robert C. Martin
- Principles Of Ood http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod, Robert C. Martin
- Bonnes pratiques objet en .net : Introduction aux principes SOLID http://philippe.developpez.com/articles/SOLIDdotNet/ Philippe Vialatte (article en français)