Redécouvrir les Solutions des Design Patterns

M. Ziane

LIP6 2002/017: Rapport de Recherche LIP6 / LIP6 research reports
19 pages - Septembre/September 2002 - French document.

Get it : 411 Ko /Kb

Contact : par mail / e-mail

Thème/Team: Objets et Agents pour Systèmes d'Information et de Simulation

Titre français : Redécouvrir les Solutions des Design Patterns
Titre anglais : Rediscovering the Solutions of Design Patterns


Résumé : Un design pattern peut être vu comme un couple . La plupart des descriptions formelles des design patterns se concentrent sur la solution et néglige le problème ainsi que les liens qui les unissent. Dans ce papier nous proposons d'exprimer ces problèmes en utilisant des méta-variables qui encapsulent un fragment de code exprimant (maladroitement) l'intention du développeur. Une généralisation d'une classique transformation dite de pliage permet de corriger le terme intentionnel en le déplaçant vers une nouvelle abstraction fonctionnelle ou de données. Ce pliage généralisé semble en mesure de représenter des mécanismes constamment utilisés dans les design patterns et de reproduire leurs solutions. Ceci permet d'espérer que les design patterns pourront à l'avenir être beaucoup mieux outillés.

Abstract : A design pattern can be seen as a couple. Most formal descriptions of design patterns focus on the solution part and do not pay attention to the problem nor to the links between problems and solutions. In this paper we propose to express these problems using meta-variables which encapsulate a code fragment (awkwardly) expressing the intention of the developer. A generalization of the classical fold transformation will refactor this awkward term by displacing it to the proper functional or data abstraction. This generalized folding seems to be able to represent mechanisms pervasive in design patterns and to reproduce their solutions. This gives hope that much better tool support can be achieved than with today's approaches.


Mots-clés : design pattern, transformation de programme

Key-words : Design pattern, program transformation


Publications internes LIP6 2002 / LIP6 research reports 2002

Responsable Éditorial / Editor :Nicole.Nardy@lip6.fr