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

UML Discussion :

Conception d'une application POO : l'ultimate super classe ?


Sujet :

UML

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2004
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 24
    Par défaut Conception d'une application POO : l'ultimate super classe ?
    Bonjour,

    J'aimerai bien avoir l'avis de personne(s) avec expèrience en POO concernant l'existence de la super classe qui encapsule toutes les classes de l'application : je crois bien que c'est le standard des applications objet.

    cette super-classe qui est tout en haut de la hiérarchie des objets de l'application qu'y a -t-il à l'intérieur ?
    Si la réponse est 'pas grand-chose' alors cela correspond sans doute à une modélisation usuelle pour que le projet soit rigoureux.
    Je me dis que puisque cette superclasse sera instanciée à chaque fois que l'on va instancier une sous-classe alors mieux vaut que le constructeur soit à peu près vide ... pouvez-vous me le confirmer ?


    Autre question : ces constantes dont on peut avoir besoin tout au long de l'application est-ce bien de les mettre dans la super-classe en static ou mieux vaut-il les stocker dans un SingleTon ? Qu'est-ce qu'il y de plus pur et de plus optimale ?

    Merci d'avance
    Ben

  2. #2
    ndp
    ndp est déconnecté
    Membre expérimenté Avatar de ndp
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 227
    Par défaut
    Salut,

    il n'existe pas de standard et je n'ai pas entendu de bonne pratique, concernant l'utilisation d'une super classe de l'application.
    Pour moi, il faut en revenir aux bases: il ne doit y avoir de super classe que s'il y a la notion de generalisation. Donc, de mon point de vue, la question:
    cette super-classe qui est tout en haut de la hiérarchie des objets de l'application qu'y a -t-il à l'intérieur ?
    ne doit pas se poser.
    C'est pareil pour les constantes: tu veux utiliser des constantes et tu as le choix entre l'heritage et la relation d'utilisation: pourquoi utiliser l'heritage?

  3. #3
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 545
    Par défaut
    et oui, c'est typique d'une erreur très fréquentes en informatique : l'inversion du moyen et du but. A moins de faire des exercices sur une technique donnée, la question doit bien etre "comment je vais faire telle chose" . . . et non pas "comment je vais bien faire pour utiliser ce foutu concept"
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

    N'oubliez pas de consulter les FAQ UML et les cours et tutoriels UML

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2004
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 24
    Par défaut
    Que ça fait du bien à entendre !!!
    Je suis passé par la case UML avant de faire de l'objet, en fait, car je venais du monde de la programmation procédurale et je voulais savoir comment m'y prendre : ce que vous dites prend tout son sens.
    Merci
    @+

  5. #5
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2004
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 167
    Par défaut
    Citation Envoyé par bendev
    Je suis passé par la case UML avant de faire de l'objet
    Comme l'on déjà dit mes prédécesseurs : ce n'est pas parce qu'un mot existe dans le vocabulare d'un langage qu'il faille se sentir obligé de l'utiliser, à plus forte raison si ce mot n'a pas de raison d'être dans ce que l'on veut exprimer.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 206
    Par défaut
    D'un point de vue purement technique, il y a des superclasses, au moins dans les outils de développement que je connais. TObject, par exemple, en Delphi (win), sera la classe ancêtre de toutes les classes que tu créeras ensuite. Cette notion de superclasse n'est donc pas totalement stupide... mais à part dans un environnement de programmation, je n'en ai pas vu d'exemple, et je n’en ai pas vu l’utilité dans ce que j’ai développé.

  7. #7
    ndp
    ndp est déconnecté
    Membre expérimenté Avatar de ndp
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 227
    Par défaut
    D'un point de vue purement technique, il y a des superclasses, au moins dans les outils de développement que je connais. TObject, par exemple, en Delphi (win), sera la classe ancêtre de toutes les classes que tu créeras ensuite.
    tout a fait d'accord avec toi. J'ai peut etre mal compris la question en pensant qu'il parlait d'une super classe "utilisateur" pour toutes les classes de son application.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Février 2004
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 24
    Par défaut
    Effectivement, je me suis pas bien exprimé comme l'a probablement senti Franckintosh : avec UML j'ai appris qu'une généralisation n'a de sens qu'en terme de factorisation qui permettra aux sous-classes d'hériter de comportements - voire de propriétés ... il est bien question de conceptualisation plus que de solution toute faite - ce qui va dans le sens du message de ndp, entre autres.
    C'est pour cela qu'au moment de structurer l'application sur laquelle je travaille, je me suis dis qu'une seule superclasse qui serait instanciée à chaque fois qu'une classe est créée serait superflue.
    Mais bon, c'est vrai que les paramètres sont multiples en fonction de la technologie utilisée, notamment.

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 13
    Par défaut
    ...interessant.
    En fait tu retrouvera cette constante notion de "superclasse" dans une majorité de languages orientés objets, mais cette constante existe aussi dans les frameworks qui se veulent "généralistes"...on notera l'analogie entre certain framework et certains langages OO.
    Oui, c'est souvent plus un moyen qu'une raison purement sémantique .
    En fait dans le cas de ce type de "superclasses" au moins deux questions sont posées avant d'y recourir techniquement.
    - Comment puis-je offrir un minimum de comportement/service unique à la desdcendances.
    - Comment puis-je avoir un minimum de contrôle sur la descendance,ici le terme 'contôle" prend un sens très large;manipulation,gestion, utilisation...etc.

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

Discussions similaires

  1. Conception d'une application tolérante aux pannes
    Par scaleo dans le forum Architecture
    Réponses: 6
    Dernier message: 21/07/2007, 02h48
  2. Conception d'une application.
    Par GarsDuCalvados dans le forum Architecture
    Réponses: 4
    Dernier message: 24/04/2007, 09h53
  3. conception d'une application de e-commerce
    Par marwen2300 dans le forum Débuter
    Réponses: 17
    Dernier message: 11/03/2007, 15h08
  4. [Débutant][Conception] Contrôler une application distante
    Par muad'dib dans le forum Général Java
    Réponses: 10
    Dernier message: 05/07/2005, 14h58

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