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 :

[Débutant] Question de compréhension


Sujet :

C++

  1. #1
    Invité2
    Invité(e)
    Par défaut [Débutant] Question de compréhension
    Bonjour, voilà, j'ai finis de lire le livre de Bjarne Stroustrup (pardon pour l'otrhographe) et j'ai une question me taraude : lorsque nous éliminons la redondance dans les classes accentuons-nous les dépendance ?

    Exemple : si je créait une classe de base pour les actions à l'interieur des classes, que j'appelerais dans quasiment tout les classes de "gestions des données", pour éliminer la redondance, est-ce que par ce fait j'augmenterais significativement les dépendances ?

    PS : Je sais la question est idiote mais d'une part sont auteur l'est encore plus et d'autre part j'ai un doûte

  2. #2
    Invité
    Invité(e)
    Par défaut
    Hello Katagoto,

    Il est toujours sain de se poser la question de l'inter-dépendance entre classes!

    Tu donnes comme exemple l'héritage. Or après l'amitié (classes et fonctions "friend"), l'héritage est la dépendance la plus forte en C++. Si une classe Derivee dérive d'une class Base, tous les clients de Derivee doivent avoir la déclaration de Base pour pouvoir travailler. Base est donc toujours au moins aussi connue que Derivee, et probablement plus.

    Il y a d'autres façons de réduire la dépendance d'une classe envers une autre. Le modèle "pimple" par exemple, permet d'isoler complètement l'interface d'une classe de son implémentation. L'utilisation d'un membre détenu par pointeur (intelligent) est une autre façon de limiter les dépendances, car une simple déclaration avancée suffit dans la plupart des cas (en fonction de comment le pointeur intelligent est écrit).

    J'espère avoir répondu au moins en partie à ta question.

    Carl

  3. #3
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Par défaut
    Je ne suis pas certain d'avoir bien compris ton problème, mais si tu comptes créer une classe de base uniquement pour regrouper des fonctions communes à diverses classes, et non pas pour définir une interface d'accès commune à tes classes, c'est en général une mauvaise idée.

    On préfère en général pour ce genre de choses passer par de l'agrégation.
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  4. #4
    Membre Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Par défaut
    Citation Envoyé par JolyLoic Voir le message
    Je ne suis pas certain d'avoir bien compris ton problème, mais si tu comptes créer une classe de base uniquement pour regrouper des fonctions communes à diverses classes, et non pas pour définir une interface d'accès commune à tes classes, c'est en général une mauvaise idée.

    On préfère en général pour ce genre de choses passer par de l'agrégation.
    +1
    Le pattern stratégie en fait...

  5. #5
    Invité2
    Invité(e)
    Par défaut
    Si je résume il vaut mieu une redondance plutôt qu'une dépendance ?

    Là, la question me semble plus claire mdr, mêmed pour moi ^^

    PS : Désolé du retard de réponse, windows m'a soullé je l'ai viré

Discussions similaires

  1. [Entité-Association] [débutant] Question MPD - probléme compréhension
    Par Seb2913 dans le forum Schéma
    Réponses: 3
    Dernier message: 20/03/2015, 12h27
  2. [Débutant] Question de base sur le BDE et les SGBD
    Par Invité dans le forum Bases de données
    Réponses: 3
    Dernier message: 15/03/2005, 08h45
  3. [Débutant] questions sur Visibroker
    Par Man Dak dans le forum CORBA
    Réponses: 1
    Dernier message: 29/06/2004, 23h02
  4. [débutant] question sur les #
    Par Ultros dans le forum C
    Réponses: 3
    Dernier message: 29/04/2004, 12h30
  5. PL/Sql Débutant question
    Par Guld dans le forum Langage SQL
    Réponses: 2
    Dernier message: 22/02/2004, 17h48

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