SOLIDE

En génie logiciel, SOLID est un acronyme mnémotechnique pour cinq principes de conception destinés à rendre les conceptions de logiciels plus compréhensibles, flexibles et maintenables . Les principes sont un sous-ensemble de nombreux principes promus par l’ingénieur logiciel et instructeur américain Robert C. Martin , [1] [2] [3] introduits pour la première fois dans son article de 2000 Design Principles and Design Patterns . [2] [4]

Les idées SOLIDES sont

  • Le principe de responsabilité unique : “Il ne devrait jamais y avoir plus d’une raison pour qu’une classe change.” [5] En d’autres termes, chaque classe ne devrait avoir qu’une seule responsabilité. [6]
  • Le principe ouvert-fermé : “Les entités logicielles … doivent être ouvertes pour extension, mais fermées pour modification.” [7]
  • Le principe de substitution de L iskov : “Les fonctions qui utilisent des pointeurs ou des références à des classes de base doivent pouvoir utiliser des objets de classes dérivées sans le savoir.” [8] Voir aussi conception par contrat . [8]
  • Le principe de ségrégation des interfaces : “De nombreuses interfaces spécifiques au client valent mieux qu’une interface à usage général.” [9] [4]
  • Le principe d’ inversion de dépendance : “Dépendez d’abstractions, [pas] de concrétions.” [10] [4]

L’acronyme SOLID a été introduit plus tard, vers 2004, par Michael Feathers. [11]

Bien que les principes SOLID s’appliquent à toute conception orientée objet, ils peuvent également constituer une philosophie de base pour des méthodologies telles que le développement agile ou le développement de logiciels adaptatifs . [3]

Voir également

  • Réutilisation du code
  • Héritage (programmation orientée objet)
  • Principes de l’emballage
  • Ne te répète pas (DRY)
  • GRASP (conception orientée objet)
  • Principe KISS
  • Tu n’en auras pas besoin (YAGNI)

Références

  1. ^ Robert C. Martin . “Principes d’OOD” . butunclebob.com . Récupéré le 17/07/2014 .. (Notez la référence aux “cinq premiers principes”, bien que l’acronyme ne soit pas utilisé dans cet article.) Remonte au moins à 2003.
  2. ^ un b Robert C. Martin. “Prendre un bon départ” . objectmentor.com . Récupéré le 19/08/2013 .
  3. ^ un b Sandi Metz (mai 2009). “Conception orientée objet SOLIDE” . Youtube . Archivé de l’original le 2021-12-21 . Récupéré le 13/08/2019 . Conférence donnée à la Gotham Ruby Conference 2009.
  4. ^ un bc Martin, Robert C. (2000) . “Principes de conception et modèles de conception” (PDF) . Archivé de l’original (PDF) le 2015-09-06.
  5. ^ “Principe de responsabilité unique” (PDF) . objectmentor.com . Archivé de l’original (PDF) le 2 février 2015.
  6. ^ Martin, Robert C. (2003). Développement logiciel agile, principes, modèles et pratiques . Prentice Hall. p. 95. ISBN 978-0135974445.
  7. ^ “Principe ouvert / fermé” (PDF) . objectmentor.com . Archivé de l’original (PDF) le 5 septembre 2015.
  8. ^ un b “le Principe de Substitution de Liskov” (PDF) . objectmentor.com . Archivé de l’original (PDF) le 5 septembre 2015.
  9. ^ “Principe de Ségrégation d’Interface” (PDF) . objectmentor.com . 1996. Archivé de l’original (PDF) le 5 septembre 2015.
  10. ^ “Principe d’inversion de dépendance” (PDF) . objectmentor.com . Archivé de l’original (PDF) le 5 septembre 2015.
  11. ^ Martin, Robert (2018). Architecture propre : Guide de l’artisan sur la structure et la conception des logiciels . p. 58. ISBN 9780134494166.
and Design PatternsArchivé de l'originalPDFprincipeprincipes
Comments (0)
Add Comment