S.O.L.I.D. est un ensemble de principes utilisés pour la conception de code orienté objet. S.O.L.I.D. est l’acronyme de :
SRP : Single Responsibility Principle (Principe de la responsabilité unique)
Ce principe indique qu’une classe ne devrait jamais avoir plus d’une raison de changer.
OCP : Open Closed Principle (Principe Ouvert-Fermé)
Ce principe indique que les entités d’un logiciel (classes, fonctions, etc.) doivent être ouvert à l’extension mais fermé à la modification.
LSP : Liskov Substitution Principle (Principe de substitution de Liskov)
Ce principe indique qu’une fonction faisant référence à une classe de base doit être capable d’utiliser un objet dérivé de cette classe de base sans avoir à le savoir. Ou autrement dit qu’une classe dérivant d’une classe de base doit pouvoir se substituer à sa mère sans que cela implique des modifications dans la fonction qui l’utilise.
ISP : Interface Segregation Principle (Principe de ségrégation des interfaces)
Ce principe indique que des clients ne devraient pas être forcés à dépendre d’interfaces qu’ils n’utilisent pas.
DIP : Dependency Inversion Principle (Principe d’inversion de dépendance)
Ce principe indique que des modules de haut niveau ne devraient pas s’appuyer sur des modules de bas niveau et qu’ils devraient tout deux dépendre d’abstraction. Il indique également que ce n’est pas l’abstraction qui doit dépendre des détails, mais les détails qui doivent dépendre de l’abstraction.
Source : Wikipédia
Je vous invite à lire l’excellent artcile PHPUnit avancé : patterns de tests de Julien Pauli qui contient un excellent rappel des grands principes du développement logiciel orienté objet : SOLID.

