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

avec Java Discussion :

Instances et Factorisation de code


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de OSryx
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Luxembourg

    Informations forums :
    Inscription : Janvier 2010
    Messages : 70
    Par défaut Instances et Factorisation de code
    Bonjour,

    Considérons :
    • IRenderers: interface générale pour les Renderers (comme RLine et RStep).
    • RLine (respectivement RStep): classe concrete Renderer de Line (Renderer de Step).
    • MyRenderer: une interface ( du design pattern factory) contenant la signature d'une seule fonction B();
    • MyRLine (respectivement MyRStep): ma classe héritant RLine (respectivement MyRLine), rediefinissant la méthode C(), et implementant B().


    Remarque: ce qui est en rouge est propre à une bibliothèque et je ne suis pas en mesure de le modifier.

    En modèle conceptuel des données, cela se traduit ainsi:

    • Le corps de la méthode C() appelé F, est le même dans MyRLine et MyRStep mais ils utilisent des fonctions de RLine et RStep.
    • La fonction C() permet de redéfinir une seule méthode de RLine ou RStep.
    • La portion de code F utilise des méthodes de RLine (respectivement RStep)
    • Le corps de la méthode B() appelé E, est le même dans MyRLine et MyRStep mais ils utilisent des fonctions de RLine et RStep.
    • La portion de code E retourne MyRLine (donc le this qui corresponds à RLine en redefinissant la méthode C())


    Problème: J'ai besoin de factoriser le code vu que la fonction C() et B() sont les mêmes dans MyRLine et MyRStep, je souhaite l'optimiser et le réduire, mais je ne sais pas comment ??

    toute remarque est la bienvenue

  2. #2
    Membre très actif
    Avatar de william44290
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Juin 2009
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 400
    Par défaut
    a) une classe contenant les méthodes statiques c() et b()

    b) remplacement de l'interface MyRenderer par une class MyRenderer avec les méthodes c() et b()

    c) une class MyRLineMyRStep

    etc ...

  3. #3
    Membre confirmé Avatar de OSryx
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Luxembourg

    Informations forums :
    Inscription : Janvier 2010
    Messages : 70
    Par défaut
    merci pour votre réponse mais je ne l'ai pas très bien compris !

  4. #4
    Membre très actif
    Avatar de william44290
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Juin 2009
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 400
    Par défaut
    les solutions a) b) ou c) sont trop solutions possible afin de traiter le problème que vous avez exposé.

  5. #5
    Membre confirmé Avatar de OSryx
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Luxembourg

    Informations forums :
    Inscription : Janvier 2010
    Messages : 70
    Par défaut
    • solution a: tres tres interessante ! mais j'utilise l'instance 'this' dans b() et c().
    • solution b: si je remplace I_MyRenderer par un classe contenant b() et c(), j'ai besoin d'un héritage double pour résoudre le problème.
    • solution c: j'ai besoin d'un héritage direct avec RStep et RLine.


    vous me conseillez quelle solution pour mieux approfondir ?

    et surtout merci pour votre réponse

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. factorisation de code
    Par calagan99 dans le forum ASP.NET
    Réponses: 7
    Dernier message: 21/05/2007, 09h00
  2. [C++] Factorisation de code
    Par xterminhate dans le forum C++
    Réponses: 6
    Dernier message: 07/11/2006, 16h21
  3. factoriser du code
    Par grabriel dans le forum Langage
    Réponses: 3
    Dernier message: 26/10/2006, 15h00
  4. Réponses: 7
    Dernier message: 01/08/2006, 11h58
  5. Réponses: 4
    Dernier message: 06/11/2003, 10h37

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