Principe de responsabilité unique

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
image illustrant l’informatique
Cet article est une ébauche concernant l’informatique.

Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants.

Ce modèle est-il pertinent ? Cliquez pour en voir d'autres.
Cet article ou cette section ne s'appuie pas, ou pas assez, sur des sources secondaires ou tertiaires (indiquez la date de pose grâce au paramètre date).

Pour améliorer la vérifiabilité de l'article, merci de citer les sources primaires à travers l'analyse qu'en ont faite des sources secondaires indiquées par des notes de bas de page (modifier l'article).

Ce modèle est-il pertinent ? Cliquez pour en voir d'autres.
La mise en forme de cet article est à améliorer (janvier 2016).

La mise en forme du texte ne suit pas les recommandations de Wikipédia : il faut le « wikifier ». Découvrez comment faire.

La typographie, les liens internes ou externes, les conventions de style, la présentation des sourcesetc. sont autant de points qui peuvent ne pas convenir voire être absents. Si seules certaines sections de l'article sont à wikifier, pensez à les indiquer en utilisant {{section à wikifier}}.

Ce modèle est-il pertinent ? Cliquez pour en voir d'autres.
Cet article est orphelin. Moins de trois articles lui sont liés (février 2016).

Aidez à ajouter des liens en plaçant le code [[Principe de responsabilité unique]] dans les articles relatifs au sujet.

En programmation orientée objet, le principe de responsabilité uniqueRobert C. Martin (en) exprime le principe comme suit: "Une classe ne doit changer que pour une seule raison" ("* A class should have only one reason to change")[1],[2]

Exemple[modifier | modifier le code]

Prenons l'exemple d'un module qui compile et imprime un rapport. Imaginons que ce module peut changer pour deux raisons. D'abord, le contenu du rapport peut changer. Ensuite, le format du rapport peut changer. Ces deux choses changent pour des causes différentes; l'une substantiel, et l'autre cosmétique. Le principe de responsabilité unique dit que ces deux aspects du problème ont deux responsabilités distinctes, et devrait donc être dans des classes ou des modules séparés. Ce serait une mauvaise conception de coupler ces deux choses dans une même classe.

La raison pour laquelle il est important de garder une classe axée sur une seule préoccupation est que cela rend la classe plus robuste. En continuant avec l'exemple précédent, s'il y a un changement dans le processus de compilation du rapport, il y a un plus grand danger que le code d'impression se casse si elle fait partie de la même classe.

La responsabilité est définie comme une tache assignée à un acteur unique[2].

Voir aussi[modifier | modifier le code]

Références[modifier | modifier le code]