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 :

méthodes d'une classe


Sujet :

Design Patterns

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 55
    Par défaut méthodes d'une classe
    bonjour,

    J'ai une petite questions concernant les méthodes d'une classe.
    Dans mon application, l'utilisateur va pouvoir créer des salariés.
    Il existe une classe "salarié". dois je mettre une methode creer_salarié, supprimer_salarié ou non?

  2. #2
    Membre émérite Avatar de nako
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2003
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

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

    Informations forums :
    Inscription : Août 2003
    Messages : 577
    Par défaut
    Bonjour,
    la notion de factory (usine) est souvent utiliser en POO pour ce genre de méthodes.
    Le principe : avec ta classe Salarie (qui contient les méthodes propres a un salarie), tu as une autre classe SalarieFactory qui contient des methodes comme getAllSalaries(), createSalarie(), destroySalarie() etc ...

    Mais aussi déjà vu des gens qui ne voulaient pas s'embêter avec des classes factory, et qui mettaient tout dans une seule classe Salarie (un salarié aurait le droit de se faire naître et de se faire mourrir ?)
    Voilà, j'espère que j'ai pu t'aider un peu.
    Si des experts de la POO passent par là, ils te renseigneront sûrement mieux que moi.
    a+

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Février 2003
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2003
    Messages : 10
    Par défaut
    Bonjour, de passage et sans etre un expert je me permet un avis.

    d'accord avec nako, ce genre de fonctionnalité (création et suppression d'une occurence) est plutot attribuée à un objet externe, un gestionnaire (ou manager). Mais ce n'est pas obligatoire (ça dépends de la taille et la complexité de l'application)

    cela dit,
    si on rentre dans le détail il me semble que le factory est une notion plus utilisée pour l'instanciation des objets (dans le sens de l'allocation mémoire) que dans le sens ajouter une donnée dans une table (donnée persistante)

  4. #4
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 55
    Par défaut
    après une certaine reflexion, je pense qu'il faut mettre les classes creer() et supprimer().

    Cependant, dois-je les mettre dans la classe ou dans la classe "liée".

    ex:

    un service a des rotations, on peut en créer pour chaque service: dois-je mettre créer_rotations() dans la classe service ou dans la classe rotation.

    merci

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Février 2003
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2003
    Messages : 10
    Par défaut
    pour ce que j'en sais,
    les deux sont justes.

    Personnellement je n'aime pas les methode de classe (ou methode statique), je prefère laisser la responsabilité de la gestion des données à une autre classe. dans ton cas, mettre creer_rotation dans service a du sens. il faudra juste s'assurer qu'il est bien clair que c'est la classe service qui a le role de "gestionnaire des rotations", autrement di que la methode supprimer_rotation ne vas pas se retrouver dans une autre classe...

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 191
    Par défaut
    Personnellement, je ne peux que te conseiller d'attribuer la responsabilité de créer ou supprimer un objet à une autre classe (genre SalarieManager) qui pourrait également pourquoi contenir la liste de tous les salariés. Imagine que tu doives tester la non-existence d'un salarié avant de le créer... ce sera typiquement une responsabilité de la classe SalarieManager qui elle connait tous les salaries existant...

    PS: il ne vaut mieux pas donner le nom Factory à cette classe pour éviter de s'embrouiller avec le Design Pattern Factory, AbstractFactory...

Discussions similaires

  1. [POO]Appelé une méthode d'une classe mère
    Par LE NEINDRE dans le forum Langage
    Réponses: 2
    Dernier message: 14/12/2005, 14h44
  2. Réponses: 2
    Dernier message: 06/12/2005, 09h41
  3. Création dynamique de méthode sur une classe ?
    Par elitost dans le forum Général Java
    Réponses: 9
    Dernier message: 18/10/2005, 14h47
  4. Réponses: 2
    Dernier message: 31/08/2005, 16h12
  5. [TOMCAT] JSP problème d'accès aux méthodes d'une classes
    Par gunnm dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 22/05/2004, 14h02

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