cispo
Messages postés103Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention10 septembre 2007
-
2 sept. 2005 à 01:08
sebmafate
Messages postés4936Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention14 février 2014
-
2 sept. 2005 à 16:59
Hello,
Pour mon application, j'ai créé une dll. Cette dll contient la class Operation et cette classe a différentes propriétés.
Exemple :
public class Operation
{
public string date_div //accesseur
{
get {return date_div_pri;}
set {date_div_pri=value;}
}
}
Dans mon application principale, l'utilisateur va se balader dans
différents formulaires et je veux récupérer ce que l'utilisateur va
saisir pour affecter cela aux propriétés de ma classe Operation.
Jusqu'ici pas de pb.
Mais, je suis obligé d'envoyer mon instance d'Operation comme référence
à chaque formulaire pour pouvoir compléter ses propriétés. Par exemple
Form1 va me servir pour affecter la propriété login de mon instance
MyOperation, puis de Form1, j'ouvre Form2 et Form 2 peut me servir à
affecter une autre propriété de cette instance MyOperation. (J'espère
avoir été compréhensible )
Mais je trouve cela un peu lourd (d'envoyer mon instance MyOperation à
tous les formulaires) et j'ai entendu parler des Singleton.
Pouvez-vous me dire si cela pourrait correspondre à mon besoin ou si quelque chose d'autre pourrait mieux convenir.
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 2 sept. 2005 à 02:33
Salut, Je pense que tu pourrais faire une classe uniquement avec des propriétés et des méthodes statiques, les membres statiques étant accessibles uniquement par le nom de la classe et pas par un nom d'instance. ( mets le constructeur par défaut càd le constructeur sans argument en private ).
Comme le dit badrbadr un singleton c'est une classe avec une seule instance, ex:
// Une autre technique c'est d'utiliser un constructeur static
// pour initialiser le champ "singleton".
public sealed class Singleton
{
private static Singleton singleton = null;
private Singleton( ) { /* private ctor */ }
public static Singleton Create( )
{
if ( singleton == null )
singleton = new Singleton( );
cs_badrbadr
Messages postés475Date d'inscriptionjeudi 19 juin 2003StatutMembreDernière intervention 3 novembre 20081 2 sept. 2005 à 01:32
salut;
à ce que je comprends, les classes Singleton sont des classes spéciales qui ne permettent la création que d'un seul objet.
Selon moi, ta classe Operation peut très bien être une classe singleton vu qu'elle n'a besoin d'être crée qu'une seule fois.
Cependant, je ne pense pas que cela pourrait changer grand chose a ton projet.
Il va tjrs falloir passer une reference a tes Formulaires afin qu'ils puissent mettre a jour ta classe Operation.
Y a rien de mal à ca, et de toute maniere, tu gaspilles pas de memoires avec les references.
l'utilisation du pattern singleton permet de limiter le nbre d'objets et permet aussi de savoir combien de reference furent utilisés. c l'avantage que je leur trouve
bon, j espere que je fus clair, je suis pas trop habituer aux forums ;)