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

Design Patterns Discussion :

Dépendance entre objets : quel design pattern?


Sujet :

Design Patterns

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1
    Par défaut Dépendance entre objets : quel design pattern?
    Bonjour à tous,

    je patoge depuis quelques jours sur ma conception, et j'ai du mal à mettre en oeuvre un design pattern. Peut etre quelqu'un a-t-il la solution ? Voici mon probleme :

    Soit trois objets : A, B et C. Chacun a des possibilités (des permissions telles que IsEditable, IsDeletable etc.). On a la possibilité de combiner des objets, mais cette combinaison peut restreindre les possibilités de ces objets. Je m'explique par un exemple : si on combine A et B, sachant que A a la propriété "IsEditable=True" est B a la propriété "IsEditable=False", l'ensemble AB ne doit pas etre éditable (doit avoir la propriété IsEditable=False)

    En fait, ca ressemble à une gestion des droits... Comment implémenter cela ?

    J'ai implémenté le Design Pattern "State" pour la gestion des propriétés des objets en fonction de leur état. Mais comment implémenter leur "interaction" ?

    Merci beaucoup pour votre aide !!

  2. #2
    Membre Expert
    Avatar de hed62
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    2 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 029
    Par défaut
    Tu devrais certainement décomposer tes objets de leurs possibilités. Ainsi, tu as les objets d'un coté, et les roles de l'autre. Ensuite, vois du coté de Factory, pourt construire un Role nouveau à partir de deux rôles. Cela te permettra d'avoir autant de complexité que voulu dans le couplage des roles, le tout à un seul endroit (la factory) et de manière transparente pour les objets.

  3. #3
    Membre Expert
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Par défaut
    Soit j'ai rien compris, soit c'est trivial :

    Pour connaitre les "droits" de l'objet composite il suffit de faire un ET logique entre les "droits" des sous-objets.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  4. #4
    Membre Expert
    Avatar de hed62
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    2 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 029
    Par défaut
    Le "ET logique" fonctionne si on force les droits à se restreindre mutuellement.. Toutefois, bien qu'il veuille en offrir la possibilité, il ne veut pas le forcer, et dans ce cas, c'est un "OU logique" qu'il faut appliquer.

    Comme l'usage d'un ou/et est assez dépendant des roles, je lui ai proposé la Factory, afin de mettre l'ensemble des aiguillage au même endroit et masquer cela à l'instanciation.

    @zigxag : par exemple, tu pourras faire le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    A a = Factory.CreateA(); // la factory crée le A, et reseigne ses rôles
    B b = Factory.CreateB(); // la factory crée le B, et reseigne ses rôles
     
    Object ab = Factory.Create(a,b); // création du ab, et définit les roles en fonction de a et de b.

Discussions similaires

  1. Dépendance entre objets
    Par bobunny dans le forum Oracle
    Réponses: 6
    Dernier message: 24/03/2011, 15h22
  2. Quel Design Pattern choisir?
    Par Aïssa dans le forum Design Patterns
    Réponses: 20
    Dernier message: 24/01/2007, 17h12
  3. Réponses: 9
    Dernier message: 05/12/2006, 10h00
  4. Réponses: 5
    Dernier message: 21/06/2006, 14h47
  5. Quel design pattern pour réaliser une synthèse
    Par jbwan dans le forum Design Patterns
    Réponses: 3
    Dernier message: 21/04/2006, 12h39

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