Auteur de questions
Design Pattern

Question
-
Bonjour,
Je dois réaliser une application utilisant des design pattern, demande faites par mon chef.
Suite à ça, je me suis renseigné et trouver 2-3 tutoriaux notemment sur developpez.com et e-naxos.com.
Cependant, les designs pattern restent flou pour moi.
Comment les utiliser? pourquoi ? ou? tout plein de questions :]
Bref, si vous avez des réponses, n'hésitez pas, je suis preneur !
Amicalement,
Kiwi
Toutes les réponses
-
Bonjour,
Un Design Pattern représente un noyau de solution des problèmes les plus récurrents en développement. Ils apportent en fait une solution utilisable par tous qui permet d'éviter de résoudre des problèmes soi même (il est inutile de réinventer la roue...).
Un Design Pattern comporte 4 parties:
-Le nom du DP
-Le problème
-La solution
-Les conséquences
Le plus connu des DP, c'est le pattern Singleton. Il permet par exemple d'autoriser à une application de créer une seule instance d'une classe. Pour cela on utilise un constructeur privé ou protégé qui n'est pas accessible lorsque l'on essaie d'instancier la classe hors de la classe elle-même.
C# intégre déjà des pattern comme notamment la gestion des événements (pattern Observer). La méthode Dispose de l'interface IDisposable est un autre exemple de pattern pour al libération de ressources non managées.
Voici de lien ou tu trouvera la description de certains Pattern qui comprend la modélisation UML du pattern ainsi qu'un exemple en Java
http://smeric.developpez.com/java/uml/
Un autre lien qui comporte un document PDF qui explique bien (à mon goût) la notion de Design Pattern ainsi que l'utilité des patterns. Ce PDF contient également des diagrammes UML et exemple en C# / Java de certains patterns:
-
Bonjour,
voici un livre assez complet avec les principaux design patterns et avec une façon de les expliquer très simple. A mon avis c'est un bon livre pour appréhender les design patterns.
Design patterns - Tête la première
Audrey
-
Comme dit précédemment le singleton est le plus connu et utilisé! Très très utile d'avoir une instance d'une classe accessible depuis n'importe où dans ton code sans avoir besoin de recréer systématiquement l'objet.
J'aime bien le décorateur mais avec les extension de méthode en 3.5 ça va devenir moins intéressant!
J'utilise aussi pas mal le pattern stratégie (un des premiers expliqué dans design pattern tête la première) qui te permet de donner un comportement dynamique à ta classe au moment de l'instanciation! Exemple tu crées une application qui sauvegarde des données et tu lui donne au choix un comportement sauvegarde dans une base de données, dans un fichier, encrypté dans un fichier, ... et celà sans réecrire la classe elle même mais en écrivant un nouveau comportement!
Un de mes site préféré pour les patterns est celui ci:
http://www.dofactory.com/Patterns/Patterns.aspx
Tu as la représentation UML, une petite explication, un exemple simple, un exemple concret (très utile pour te donner une idée réelle de son utilisation) et eventuellement un exemple optimisé (celui là la plupart du temps est disponible seulement si tu achètes leur bouquin)! C'est en anglais mais ça se lit tout seul.