Foire aux questions sur les Design patterns
Rédigé par Mathieu G. - Ecrit le 22/04/2007 et mis à jour le 29/12/2022
Cette Foire aux questions permet de regrouper des questions pertinentes au sujet des Design Patterns. Si vous ne trouvez toujours pas de réponse sur cette page vous pouvez nous contacter.
Le ’Gang of Four’ a mise en place 23 Design Patterns. Depuis il n’en existe pas de nouveau ?
Bien sûr que si. Ces 23 Design Patterns font office de référence mais il en existe beaucoup d’autres. On peut notamment citer les patterns GRASP (General Responsability Assignement Software Patterns) fournis par Craig Larman.
Qu'est ce qu'un Antipattern (aussi appelé anti-patron) ?
Ce terme regroupe les erreurs fréquements commises lors de la conception d'une application. Ces erreurs peuvent provenir de la méconaissance des design patterns qui eux détaillent des solutions éprouvées aux principaux problèmes rencontrés. Un exemple, l'antipattern Spaghetti qui rend impossible la modification d'une petite partie de l'application sans faire de nombreuses et profondes modifications.
Commentaires
Quel design pattern pour messagerie
Soumis par David le Mardi 20/12/2011 16:29
Bonjour,
J'ai développé une messagerie avec systeme d'abonnement de la facon suivante:
Un utilisateur peut envoyer et lire des messages seulement s'il est abonné.
Il existe 3 type d'abonnements:
-1 forfait pour envoyer des messages a des hommes
-1 forfait pour envoyer des messages a des femmes
-1 forfait pour envoyer des messages a tout le monde
J'aimerais savoir quel type de pattern utiliser pour simplifier mon code.
J'ai identifié 1 entité conversation, 1 entité sender et 1 entité receiver sachant qu'il y a des relations entre sender et receiver puisqu'il faut connaitre le sexe de receiver pour savoir si sender peut envoyer ou non.
Bref je suis sur qu'un pattern pourrait m'aider mais lequel?
Quel design pattern pour messagerie
Soumis par Mathieu G. le Mardi 20/12/2011 22:51
Bonjour,
Je pense que tu peux commencer par regarder le design pattern Observateur qui doit répondre à ta problématique.
Ajouter un commentaire