SOLID
S - SRP
(Single Responsibility Principle)O - OCP
(Open / Closed Principle)L - LSP
(Liskov Substitution Principle)I - ISP
(Interface Segregation Principle)D - DIP
(Dependency Inversion Principle)AOP
(Aspect Oriented Programming)OOP
(Object-Oriented Programming)SoC
(Separation of Concerns)BLL
(Business Logic Layer)DAL
(Data Access Layer)FL
(Facade Layer)
En programmation informatique, SOLID est un acronyme représentant cinq principes de bases pour la programmation orientée objet, introduits par Michael Feathers et Robert C. Martin au début des années 2000. Ils sont censés apporter une ligne directrice permettant le développement de logiciel plus fiable et plus robuste. |
En programmation orientée objet, le principe de responsabilité unique, Robert C. Martin exprime le principe comme suit :
"une classe ne doit changer que pour une seule raison" (a class should have only one reason to change) |
En programmation orientée objet, le principe ouvert/fermé (open/closed principle) affirme qu'une classe doit être à la fois ouverte (à l'extension) et fermée (à la modification). C'est le " O " de SOLID. "Ouverte" signifie qu'elle a la capacité d'être étendue. "Fermée" signifie qu'elle ne peut être modifiée que par extension, sans modification de son code source. L'idée est qu'une fois qu'une classe a été approuvée via des revues de code, des tests unitaires et d'autres procédures de qualification, elle ne doit plus être modifiée mais seulement étendue. En pratique, le principe ouvert/fermé oblige à faire bon usage de l'abstraction et du polymorphisme. |
Le principe de substitution de Liskov (LSP) est, en programmation orientéobjet, une définition particuliére de la notion de sous-type.
Il a été formulé par Barbara Liskov et Jeannette Wing dans un article intitulé Family Values: A Behavioral Notion of Subtyping La notion de sous-type telle que définie par Liskov et Wing est fondée sur la notion de substituabilité : si S est un sous-type de T, alors tout objet de type T peut être remplacé par un objet de type S sans altérer les propriétés désirables du programme concerné. Le principe de Liskov impose des restrictions sur les signatures sur la définition des sous-types :
|
Le principe de ségrégation des interfaces est une bonne pratique de la programmation orientée objet, qui stipule qu'aucun client ne devrait dépendre de méthodes qu'il n'utilise pas. Il faut donc diviser les interfaces volumineuses en plus petites plus spécifiques, de sorte que les clients n'ont accès qu'aux méthodes intéressantes pour eux. Ces interfaces rétrécies sont également appelés interfaces de rôle. Tout ceci est destiné à maintenir un système à couplage faible, donc plus facile à refactoriser. |
En programmation orientée objet, le principe d'inversion des dépendances (dependency inversion principle) fait référence à une forme spécifique de découplage des modules logiciels. Il correspond au " D " de l'acronyme SOLID. En suivant ce principe, la relation de dépendance conventionnelle que les modules de haut niveau ont, par rapport aux modules de bas niveau, est inversée dans le but de rendre les premiers indépendants des seconds. Les deux assertions de ce principe sont :
|