Identifiant :
Mot de passe :

Patrons de conception

GOPROD - De bonnes pratiques au service de la conception orientée objets

Un site web pour partager les patrons abîmés de patrons de conception

Le but de ce site est de constituer une base de patrons abîmés. Ce site web est collaboratif. Un comité de validation a été constitué pour valider les nouvelles propositions. Si vous voulez soumetttre un problème, des point forts, une solution alternative ou un patron abîmé, il vous suffit simplement de vous inscrire.

Patrons de conception et patrons abîmés : contexte

Les patrons de conception ciblent essentiellement des problèmes pouvant apparaître lors de la phase de conception des logiciels à objets. Ils permettent de limiter considérablement le temps nécessaire à la résolution des problèmes et d’améliorer la documentation et la maintenance d'un système existant. Les patrons de conception donnent un nom, isolent et identifient les principes fondamentaux d'une structure générale, pour en faire un moyen utile à l'élaboration d'une conception orientée objets réutilisables. Ils déterminent les classes et les instances intervenantes, leurs responsabilités et leur coopération. Chaque patron de conception décrit un problème de conception, les circonstances où il s'applique, les effets résultants de sa mise en œuvre, ainsi que les compromis sous-entendus. Les plus répandus ont été proposés et classés par Erich Gamma, Richard Helm, Ralph Johnson et John Vlissides nommés «le GoF» (Gang of Four). Ils ont regroupé, dans un catalogue, vingt-trois patrons de conception, correspondant à vingt-trois problèmes de conception récurrents.

Il est ainsi possible de considérer qu'un patron de conception est la «microarchitecture canonique réutilisable» pour un type de problème donné. Pour chaque problème de conception soluble par un patron de conception, «la solution canonique» est donc l'adaptation d'un patron de conception au contexte du problème. Ainsi, «une solution alternative» est une solution valide pour un problème donné, mais avec une architecture différente de celle de la solution canonique. Ainsi, les exigences du problème sont respectées par la solution alternative, mais les relations entre les classes sont différentes de celles du patron, et/ou il n'y a pas la totalité des participants du patron. Une solution alternative est une solution inadéquate à un problème donné et est remplaçable par la contextualisation du patron de conception correspondant au type de problème considéré. «Une contextualisation» est le procédé consistant à adapter un patron de conception au contexte particulier d’un problème. «Une décontextualisation» est le procédé inverse de la contextualisation.

«Un patron abîmé» est la décontextualisation d’une solution alternative récurrente, de la même manière qu’un patron de conception est la décontextualisation d'une solution canonique récurrente. Un patron abîmé est relié à un et un seul patron de conception. Le terme «abîmé» a été choisi pour décrire cette nouvelle famille de patrons, parce qu’il correspond à une dégradation des qualités intrinsèques des patrons de conception et qu’ils sont ainsi remplaçables par les patrons de conception correspondants. Les différences structurelles entre un patron de conception et un patron abîmé provoquent une dégradation de l’efficacité à résoudre un type de problème de manière adéquate. «Les points forts» d’un patron de conception expriment les critères d’architecture et les facteurs de qualité logicielle apportés par son utilisation. Ces critères sont partiellement déduits de la section conséquence du catalogue du GoF et des défauts de conception constatés lors de l’utilisation des patrons abîmés. Ils explicitent en quoi un patron de conception est la meilleure solution pour un type de problème.

_fr
_fr
Le patron de conception Composite Un patron abîmé du patron Composite

Le site

Ce site web est présenté comme un catalogue. Chaque patron du GoF est présenté avec ses points forts, ses patrons abîmés et un ou plusieurs problèmes soluble par le patron. Pour chaque problème, une ou plusieurs solution alternatives sont associées. Elles résolvent le problème en perturbant les points forts du patron de conception

Les têtes de mule
Cédric BOUHOURS
Cédric BOUHOURS
Cédric BOUHOURS