|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre actif
![]() Yannick MÉtudiant Inscription : janvier 2010 Messages : 156 ![]() |
Dans le cadre d'un projet conçu dernièrement, je devais avoir plusieurs vues différentes du même modèle de données. En l'occurrence, ce modèle était sous forme d'instance de classe Windev gérant différents calculs.
Dans ce contexte, le patron de conception qui me semblait le meilleur était le modèle Observable-Observé (http://fr.wikipedia.org/wiki/Observa..._de_conception)). Objectif Envoyer un signal à toute instance observant la classe héritant d'Observable. Mise en oeuvre La mise en oeuvre est relativement simple et consiste en deux classes. La première, Observable, contient un tableau de pointeur d'Observers et des méthodes d'ajout / de suppression et de notification. Il suffira de faire appel à la notification lorsqu'on voudra que toutes les vues correspondantes se mettent à jour. Observer quant à lui se contente de définir la méthode update() qui devra être redéfinie dans chacune de ses sous-classes pour que le polymorphisme fonctionne correctement. Enough word, let's code Code :
Code :
Sous des airs très basiques, ce patron de conception est très puissant et permet une cohésion des données affichées très facilement. J'attend vos retours ! ;-)
|
||||
|
|
10
|
|
|
#2 |
|
Membre expérimenté
![]() Développeur informatique Inscription : mars 2009 Messages : 300 ![]() |
Merci pour ta contribution,
je m'intéresse aussi pas mal à la POO sous WD avec plus ou moins de bonheur. Je garde ton Pattern sous le coude et je l'appliquerai au plus tôt. As tu travaillé sur un pattern Singleton en WD? Quel avantage avec une variable globale déclarée au niveau du projet? Je te tiens au courant de l'application de Observer/Observable BJ |
|
|
00
|
|
|
#3 |
|
Membre actif
![]() Yannick MÉtudiant Inscription : janvier 2010 Messages : 156 ![]() |
Hello !
"Indirectement". C'est-à-dire que j'ai créé quelques classes (Générateurs d'objets par exemple) qui sont considérées comme Singleton mais ne sont pas codées spécialement pour. C'est juste à moi (ou mes collègues) de bien faire gaffe à pas lancer de deuxième instance ! D'ailleurs, c'est une question intéressante. Je me pencherai sur les propriétés statiques
|
|
|
00
|
|
|
#4 | ||
|
Membre expérimenté
![]() Développeur informatique Inscription : mars 2009 Messages : 300 ![]() |
Alors voilà je me lance dans ce pattern...
Imaginons 5 listes combos chargées d'affiner une recherche Exemple (presque un cas d'école) : Combo_Article= affiche les données de Article Combo_Rayon= affiche les données de Rayon Combo_Famille= affiche les données de Famille Combo_SousFamille= affiche les données de SousFamille Combo_Saison= affiche les données de Saison Alors on est dans le cas des listes liées... J'imagine qu'on peut gérer ça avec ce pattern mais c'est encore un peu flou. Nous disons donc Code :
une classe observer... |
||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com