IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Création de factories


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de despeludo
    Inscrit en
    Janvier 2004
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 121
    Par défaut Création de factories
    Bonjour à tous !!

    La situation est la suivante.
    J'ai un ensemble d'interfaces IInterface1 et IInterface2 déclarant chacune un ensemble de méthodes. Un peu comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public interface IInterface1
    {
      void Method1_1(string param);
      void Method1_2();
    }
     
    public interface IInterface2
    {
      void Method2_1();
    }
    D'un autre côté je souhaite créer des objets implémentant ces interfaces dont le code sera le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    public class Objet1 : IInterface1
    {
      public void IInterface1 service { get; set; }
      public void Method1_1(string param)
      {
         try
         {
            service.Method1_1(param);
         }
         catch
         {
     
         }
      }
      void Method1_2()
      {
        try
        {
           service.Method1_2();
        }
        catch
        {
     
        }
      }
    }
    Je simplifie un peu mais dans l'esprit c'est à peu près ça.

    La question est que comme j'ai une bonne dizaine d'interfaces dans ce style, je n'ai pas forcément envi de créer ces dix objets à la main... oui je sui assez fénéant dans l'âme.

    D'un autre côté, en utilisant WCF, j'ai vu que Microsoft réalisait exactement ce que je voulais dans le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      ChannelFactory<IInterface1> myFactory = new ChannelFactory<IInterface1>();
      IInterface1 intf = myFactory.CreateChannel();
    Bref c'est un peu ce genre de mécanisme que je cherche à reproduire mais je ne sais pas trop par où commencer.

    Merci pour vos réponses.

  2. #2
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut
    Je te conseille de jeter un oeil vers les patterns Abstract Factory et Factory Methode. Ces sont des design patterne de base utilisé tres frequament. Indispensable.


  3. #3
    Membre Expert Avatar de Tober
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 824
    Par défaut
    A mon avis, s'il utilise le mot clef factory, c'est qu'il sait deja que c'est un design patern... je dis ca, je dis rien

  4. #4
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut
    Citation Envoyé par Tober Voir le message
    A mon avis, s'il utilise le mot clef factory, c'est qu'il sait deja que c'est un design patern... je dis ca, je dis rien
    ben dans ce cas, il lui suffit de tenter une implementation. il ne sait pas pas ou comencer...

    Commence par faire le mapping enter le pattern et tes classes et si tu trouves des difficultées, expose les precisement.

  5. #5
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 62
    Par défaut
    Ce qui est bizard c'est que la classe objet1 ressemble à un adapteur mais elle contient une référence (service) vers une classe qui implémente la même interface que objet1 es tu sur de ce choix de conception.
    Ensuite tu peux aller faire un tour du coté de la généricité si tu veux commencer à faire des choses intéressantes au niveau fabrique etc...
    Genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    class Fabrique<T> where T: new(){
    public static T GetNew(){
    return new T();
    }
    Cela n'est pas forcement nécessaire je te conseil de rester dans le simple.

Discussions similaires

  1. Création de joueurs avec le pattern "Factory"
    Par abysr dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 23/02/2015, 07h06
  2. Création d'une factory. (Problème)
    Par Invité dans le forum Langage
    Réponses: 1
    Dernier message: 29/08/2014, 22h25
  3. Réponses: 5
    Dernier message: 26/10/2010, 17h44
  4. Réponses: 1
    Dernier message: 18/08/2006, 14h49
  5. Création image BMP
    Par Anonymous dans le forum C
    Réponses: 2
    Dernier message: 25/04/2002, 16h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo