Design pattern - Design pattern

Un modèle de conception est la forme réutilisable d'une solution à un problème de conception. L'idée a été introduite par l'architecte Christopher Alexander et a été adaptée pour diverses autres disciplines, notamment le génie logiciel .

Des détails

Une collection organisée de modèles de conception qui se rapportent à un domaine particulier est appelée un langage de modèles . Ce langage donne une terminologie commune pour discuter des situations auxquelles les concepteurs sont confrontés.

Les éléments de ce langage sont des entités appelées motifs. Chaque modèle décrit un problème qui se produit encore et encore dans notre environnement, puis décrit le cœur de la solution à ce problème, de telle manière que vous pouvez utiliser cette solution un million de fois, sans jamais le faire deux fois de la même manière .

—  Christopher Alexander, Un langage de formes

Documenter un modèle nécessite d'expliquer pourquoi une situation particulière cause des problèmes et comment les composants du modèle sont liés les uns aux autres pour donner la solution. Christopher Alexander décrit les problèmes de conception courants comme résultant de « forces contradictoires », comme le conflit entre le fait de vouloir qu'une pièce soit ensoleillée et de ne pas surchauffer les après-midi d'été. Un motif ne dirait pas au concepteur combien de fenêtres mettre dans la pièce ; au lieu de cela, il proposerait un ensemble de valeurs pour guider le concepteur vers une décision qui convient le mieux à son application particulière. Alexander, par exemple, suggère d'inclure suffisamment de fenêtres pour diriger la lumière tout autour de la pièce. Il considère cela comme une bonne solution car il estime que cela augmente la jouissance de la pièce par ses occupants. D'autres auteurs pourraient arriver à des conclusions différentes s'ils accordent une plus grande valeur aux coûts de chauffage ou aux coûts des matériaux. Ces valeurs, utilisées par l'auteur du modèle pour déterminer quelle solution est « la meilleure », doivent également être documentées dans le modèle.

La documentation du modèle doit également expliquer quand elle est applicable. Étant donné que deux maisons peuvent être très différentes l'une de l'autre, un modèle de conception de maisons doit être suffisamment large pour s'appliquer aux deux, mais pas si vague qu'il n'aide pas le concepteur à prendre des décisions. L'éventail des situations dans lesquelles un modèle peut être utilisé est appelé son contexte. Quelques exemples pourraient être "toutes les maisons", "toutes les maisons à deux étages" ou "tous les endroits où les gens passent du temps".

Par exemple, dans le travail de Christopher Alexander, les arrêts de bus et les salles d'attente dans un centre de chirurgie sont tous deux dans le contexte du modèle « A PLACE TO WAIT ».

Exemples

Les modèles commerciaux ont également des modèles de conception. Voir Modèle d'affaires § Exemples .

Voir également

Les références

Lectures complémentaires

  • Erl, Thomas (2009). Modèles de conception SOA . Prentice Hall série informatique orientée service de Thomas Erl. Upper Saddle River, NJ : Prentice Hall . ISBN 978-0-13-613516-6. OCLC  156832597 .
  • Leitner, Helmut (2015). Théorie des motifs : introduction et perspectives sur les traces de Christopher Alexander . Série de recherche de modèle. 1 . Graz : Helmut Leitner, HLS Software. ISBN 978-1-5056-3743-4. OCLC  913795677 .
  • Pree, Wolfgang (1995). Modèles de conception pour le développement de logiciels orientés objet . Livres de presse ACM. Wokingham, Angleterre ; Lecture, Mass. : Addison-Wesley . ISBN 0201422948. OCLC  31291883 .
  • Schmidt, Douglas C.; Buschmann, Frank ; Henney, Kevlin (2007). Architecture logicielle orientée pattern : sur les patterns et les langages de pattern . Série Wiley dans les modèles de conception de logiciels. 5 . Chichester, Royaume-Uni ; New York : Wiley . ISBN 9780471486480. OCLC  62532759 .
  • Tidwell, Jenifer ; brasseur, Charles ; Valence, Aynne (2020) [2005]. Conception d'interfaces : modèles pour une conception d'interaction efficace (3e éd.). Sébastopol, Californie : O'Reilly . ISBN 9781492051961. OCLC  1138701080 . Présente des solutions aux problèmes courants de conception d'interface utilisateur sous la forme d'un ensemble de modèles, chacun contenant des exemples concrets, des recommandations et des avertissements.