|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Membre expérimenté
![]() Développeur informatique Inscription : mars 2009 Messages : 314 ![]() |
Bonjour à tous,
avant de demander humblement la publication d'un mini article je vous sollicite pour vos impressions sur ceci : Le design pattern singleton en WD Langage : Ce Pattern est peut-être le premier pattern que j'ai appris en POO Car c'est un des plus simples à comprendre. Il s'agit comme le dit très bien wotre cyber encyclopédie préférée de créer une classe dont on ne peut implémenter d'un seul et unique objet (attention quand même en multi-thread. Le but de l'article n'est pas de théoriser ce pattern mais de le traduire en WDlanguage en voici la recette : On crée un projet (sans base de donnée) pour aller plus vite le projet en ZIP version 17 est en pièce jointe. Dans ce projet une fenêtre Dans cette fenêtre un champ de saisie "saisie" Un bouton "Voir" Un bouton "Ajouter+1" On crée une classe Singleton (original non?) Voici la déclaration : Code :
Code :
Code :
Pour accéder au membre "membre" on écrit : Singleton.getInstance().membre sans avoir ni a déclarer ni a allouer l'objet. Du coup dans le code du projet on ne met RIEN Dans le code de "saisie" on ne met RIEN Dans le code "clic" du bouton "Voir" on écrit : Code :
Saisie1=Singleton.getInstance().membre A chaque clic sur "voir" on récupère la valeur de "membre" A chaque clic sur "Ajouter" on incrémente "membre" Alors très bien me direz vous, très joli mais à quoi ça va me servir ? Dans pas mal de langages on utilise le pattern singleton pour limiter les objets de connexion à la base de donnée à une seule instance. Dans Windev c'est rarement le cas car en général on utilise un objet Connexion qui existe par défaut dans votre analyse. On peut envisager d'utiliser ce pattern si on utilise une base externe sans analyse avec un objet de connexion qu'on rappelle souvent. Personnellement une autre de mes utilisations régulières est dans la gestion des fichiers de log. J'écris un objet Journal qui utilise ce pattern avec une méthode "ecritLigne" et je lance facilement des appels du type : Code :
Journal.getInstance().ecritLigne("cette opération ...")
Voilà j'attends vos réactions pour les modifications. Merci d'avance Dans le projet |
||||||
|
|
40
|
|
|
#2 |
|
Membre actif
![]() Yannick MÉtudiant Inscription : janvier 2010 Messages : 158 ![]() |
Merci !
|
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : novembre 2012 Messages : 1 ![]() |
un mot aussi: merci!
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com