par
mcorgnet » 26 mai 2008, 14:12
Bonjour,
Alors là ... j'ai pourtant compris la question ... mais maintenant que j'ai lu la réponse d'
Hywan, je n'en suis plus sûr
Sinon, avant de noyer
mcorgnet sous la POO (même si je pense qu'il a pied

), j'aurais envi de rester au niveau abstrait.
Si j'ai bien compris, tu as une notion (une classe) qui regroupe des comportements liés à la notion, et tu voudrais savoir où mettre des comportements tels que l'affichage du formulaire liés, ...
Selon moi, la présentation d'un objet ne doit pas être le travail de l'objet lui-même.
Que tu ais une classe qui contient le travail de présentation de l'objet, pourquoi pas, mais il ne faut pas mélanger la partie métier de la partie présentation
Voilà, en espérant ne pas avoir répondu HS
Disons que là, j'ai compris :d
Non, en fait, je veux déléguer certaines tâches, ne pas les faire directement dans ma classe. En gros, j'aurai une classe qui contiendra mes champs de formulaire pour mon objet A. Le problème, pour moi, en fait, c'est de lier mes deux classes.
En fait, je veux déléguer des tâches à d'autres classes.
Mon objet est un courrier.
$courrier = new Courrier();
Je peux lui définir des propriétés, et j'ai des méthodes pour bosser dans la BD.
Maintenant, je veux lui définir des champs de formulaire, parce que je les utilise souvent, dans différentes pages de mon programme. Donc, je songe à faire faire ce travail à autre chose qu'à la classe Courrier elle même. Là, je me suis dit : "délégation" ... Ce que j'essaie de savoir, c'est si il y a une manière précise de s'y prendre en php, ou s'il faut juste créer une méthode dans ma classe courrier, qui va instancier l'objet FormulaireCourrier, ou RechercheCourrier.
Mon but, c'est d'avoir un objet Courrier avec ses propriétés quand j'ai juste besoin de les définir et de les afficher. Ensuite, quand j'ai besoin de le modifier, je veux l'objet CourrierFormulaire, puisqu'à cet instant, j'ai besoin de ces propriétés. Pareil quand je veux rechercher ...
Pourquoi ?
Si je suis sur une page qui me permet de modifier, je ne veux pas accéder aux propriétés de recherche. De plus, ma recherche ne se fait pas sur toutes les propriétés.
En fait, en y réfléchissant, il me semble qu'il faudrait presque des délégations spécifiques :
mon objet courrier
une classe spécifique à cet objet pour les opérations de base de données
une classe spécifique pour les opérations de formulaire
une classe spécifique pour les opérations de recherche ...
Bref, question de concept, est-ce une bonne idée, et surtout : quelle est la meilleure méthode ?
J'arrive à être clair là ?
[quote="zeus"]Bonjour,
Alors là ... j'ai pourtant compris la question ... mais maintenant que j'ai lu la réponse d'[b]Hywan[/b], je n'en suis plus sûr :?
Sinon, avant de noyer [b]mcorgnet[/b] sous la POO (même si je pense qu'il a pied ;) ), j'aurais envi de rester au niveau abstrait.
Si j'ai bien compris, tu as une notion (une classe) qui regroupe des comportements liés à la notion, et tu voudrais savoir où mettre des comportements tels que l'affichage du formulaire liés, ...
Selon moi, la présentation d'un objet ne doit pas être le travail de l'objet lui-même.
Que tu ais une classe qui contient le travail de présentation de l'objet, pourquoi pas, mais il ne faut pas mélanger la partie métier de la partie présentation ;)
Voilà, en espérant ne pas avoir répondu HS[/quote]
Disons que là, j'ai compris :d
Non, en fait, je veux déléguer certaines tâches, ne pas les faire directement dans ma classe. En gros, j'aurai une classe qui contiendra mes champs de formulaire pour mon objet A. Le problème, pour moi, en fait, c'est de lier mes deux classes.
En fait, je veux déléguer des tâches à d'autres classes.
Mon objet est un courrier.
$courrier = new Courrier();
Je peux lui définir des propriétés, et j'ai des méthodes pour bosser dans la BD.
Maintenant, je veux lui définir des champs de formulaire, parce que je les utilise souvent, dans différentes pages de mon programme. Donc, je songe à faire faire ce travail à autre chose qu'à la classe Courrier elle même. Là, je me suis dit : "délégation" ... Ce que j'essaie de savoir, c'est si il y a une manière précise de s'y prendre en php, ou s'il faut juste créer une méthode dans ma classe courrier, qui va instancier l'objet FormulaireCourrier, ou RechercheCourrier.
Mon but, c'est d'avoir un objet Courrier avec ses propriétés quand j'ai juste besoin de les définir et de les afficher. Ensuite, quand j'ai besoin de le modifier, je veux l'objet CourrierFormulaire, puisqu'à cet instant, j'ai besoin de ces propriétés. Pareil quand je veux rechercher ...
Pourquoi ?
Si je suis sur une page qui me permet de modifier, je ne veux pas accéder aux propriétés de recherche. De plus, ma recherche ne se fait pas sur toutes les propriétés.
En fait, en y réfléchissant, il me semble qu'il faudrait presque des délégations spécifiques :
mon objet courrier
une classe spécifique à cet objet pour les opérations de base de données
une classe spécifique pour les opérations de formulaire
une classe spécifique pour les opérations de recherche ...
Bref, question de concept, est-ce une bonne idée, et surtout : quelle est la meilleure méthode ?
J'arrive à être clair là ?