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

Langage PHP Discussion :

[POO] Question d'organisation


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Décembre 2003
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur multimédia
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14
    Points : 22
    Points
    22
    Par défaut [POO] Question d'organisation
    Bonjour,

    En ces temps pluvieux, mon cerveau n'a d'autres choses à faire que de se prendre la tête sur certaines questions purement théoriques... étant donné que je trouve pas vraiment la réponse par moi-même, je fais appel à l'équipe

    En fait, je me demande s'il est correct, mettons dans une classe "Utilisateur" de créer une méthode statique "getUtilisateurs" qui irait rechercher les occurences d'un utilisateur et qui instancierait dans la dite classe autant d'utilisateurs qu'il y a dans la db.

    Actuellement, c'est ce que je fais mais un de mes amis semble ne pas apprécier cet appel interne (création d'objets Utilisateur à partir de la classe Utilisateur) et me dit qu'une classe ne peut s'instancier elle-même.

    Qu'en pensez-vous ?

    (désolé si cette question est triviale mais moi, elle me taraude )

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par micfrip
    Bonjour,

    En ces temps pluvieux, mon cerveau n'a d'autres choses à faire que de se prendre la tête sur certaines questions purement théoriques... étant donné que je trouve pas vraiment la réponse par moi-même, je fais appel à l'équipe

    En fait, je me demande s'il est correct, mettons dans une classe "Utilisateur" de créer une méthode statique "getUtilisateurs" qui irait rechercher les occurences d'un utilisateur et qui instancierait dans la dite classe autant d'utilisateurs qu'il y a dans la db.

    Actuellement, c'est ce que je fais mais un de mes amis semble ne pas apprécier cet appel interne (création d'objets Utilisateur à partir de la classe Utilisateur) et me dit qu'une classe ne peut s'instancier elle-même.

    Qu'en pensez-vous ?

    (désolé si cette question est triviale mais moi, elle me taraude )
    Ton ami et toi devriez vous renseigner sur le motif de conception Factory. (Pattern Factory).



    Sur cette page par exemple.

    Petite précision (j'ai omis ) :

    Moi ce qui me parraîtrait un peu contre indiqué théoriquement, c'est qu'une instance d'une classe puisse créer d'autres instance de sa même classe.

    Dans le cas d'une méthode publique statique, la classe est appelée sans être instanciée, on peut dire que c'est correcte, d'un point de vue "conception objet".

    Tu prends exemple dans la vie de tous les jours, tes cellules se régénèrent continuellement à partir d'un modèle bien précis définit dans ton ADN. Il n'y pas besoin de créer un jumeau de toi pour faire ceci .

    Bye
    Dernière modification par Invité ; 27/08/2006 à 19h26.

  3. #3
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Points : 1 164
    Points
    1 164
    Par défaut
    Salut,

    Pour ce qui est de l'utilisation d'un méthode statique, je suis plutot pour puisque c'est ce que je fais moi même.
    Moi je ne m'en sert pas pour faire du factoring. Mais simplement pour controler l'avant et l'après instanciation.
    Sa me permet de mettre en place un système de cache par exemple.

    Moi ce qui me dérange plus c'est que les actions d'un Utilisateur et des Utilisateurs soient mélangées dans la même classe.

    AMHA, que si tu avais une classe pour représenter 1 Utilisateur et une classe pour représenter N Utilisateurs, se serait plus adapté.

    Et donc ta méthode getUtilisateurs prendrait place dans la classe Utilisateurs et non Utilisateur.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par ePoX
    Moi ce qui me dérange plus c'est que les actions d'un Utilisateur et des Utilisateurs soient mélangées dans la même classe.

    AMHA, que si tu avais une classe pour représenter 1 Utilisateur et une classe pour représenter N Utilisateurs, se serait plus adapté.

    Et donc ta méthode getUtilisateurs prendrait place dans la classe Utilisateurs et non Utilisateur.

    C'est la solution la plus juste d'un point de vu "orienté objet".

    Mais créer systématiquement une classe à part entière c'est pas forcément justifiable...

    Surtout si la classe se limite à une ou deux méthodes sensées récuperer plusieurs instances.

    Enfin c'est une question de conception

  5. #5
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Points : 1 164
    Points
    1 164
    Par défaut
    Tant que j'aurai pas du Linq dans mon code PHP je le ferais car je pense que c'est vraiment nécéssaire.
    M'enfin d'ici à ce qu'il y ai du linq en PHP je ferait du dotnet à plein temps xD

  6. #6
    Membre à l'essai
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Décembre 2003
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur multimédia
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14
    Points : 22
    Points
    22
    Par défaut
    Oui, c'est justement le point de réfléxion auquel j'étais arrivé.
    Le problème c'est que les exemples que j'ai se contredisent un peu à ce sujet.

    En clair, c'est un peu comme je le sens quoi...

    Merci pour vos réponses et pour le lien vers le design pattern en tous cas !

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par micfrip
    Oui, c'est justement le point de réfléxion auquel j'étais arrivé.
    Le problème c'est que les exemples que j'ai se contredisent un peu à ce sujet.

    En clair, c'est un peu comme je le sens quoi...

    Merci pour vos réponses et pour le lien vers le design pattern en tous cas !
    Effectivement, dans ce cas, et dans bien d'autres en orienté objet, il est très difficile de définir ou appliquer "LA" convention d'implémentation incontestée. Particulièrement pour PHP.

    Les meilleurs pratiques émanent de l'experience...

Discussions similaires

  1. Application Swing.. quelques questions d'organisation
    Par Invité dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 07/06/2006, 15h25
  2. [POO] question sur les interfaces
    Par root76 dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 20/05/2006, 17h12
  3. [POO] Question POO
    Par shadeoner dans le forum Langage
    Réponses: 1
    Dernier message: 10/04/2006, 14h51
  4. [POO]Question sur les constructeurs
    Par Burinho dans le forum Langage
    Réponses: 16
    Dernier message: 08/04/2006, 21h56
  5. [POO] Question class php=>javascript
    Par jeff_! dans le forum Langage
    Réponses: 4
    Dernier message: 05/01/2006, 15h10

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