![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
| Modélisation Forum d'entraide pour les diagrammes UML et les MCD |
![]() |
|
|
Outils de la discussion |
|
|
#2 (permalink) |
![]() |
Théoriquement oui, une classe ne doit avoir qu'une responsabilité. Maintenant, le plus difficile est de déterminer le grain des responsabilités.
Est ce que "Gérer les contrats" est une responsabilité ? A mon avis, plusieurs. Est ce que "mémoriser la date de souscription" en est une ? Pas en tant que telle, car le grain est trop fin.
__________________
Je n'accepte pas les demandes de mise en relation MSN/yahoo sans motif. ------------------------------------------------------------------------ Si , ni , ne peuvent vous aider, mais nous oui, pensez à un pti et au ! Merci de vous relire ____________________________________________________________________________________ Recherche joueurs de "Magic" sur Lille et environs. Donner plutôt que jeter. Solutions d'hébergement |
|
|
|
|
|
#4 (permalink) | |
![]() Date d'inscription: juin 2005
Localisation: Morangis (91)
Âge: 48
Messages: 1 590
|
Citation:
une classe polymorphe est une classe fourre tout, signe d'une mauvaise analyse/conception |
|
|
|
|
|
|
#5 (permalink) | |
![]() Date d'inscription: juin 2005
Localisation: Lyon
Âge: 30
Messages: 513
|
Citation:
Si tu te poses cette question, c'est que tu raisonnes en termes fonctionnels. Que tu cherches à faire un objet "Gérer les contrats", donc un module fonctionnel et non pas un objet au sens POO du terme. Pour moi, on définit avant tout des objets qui représent des entités physiques précises et concrêtes. On définit les opérations unitaires qui peuvent s'effectuer sur chaque entité. De cette façon, ton objet est autonome, indépendant d'un contexte précis et donc parfaitement réutilisable. Ensuite, tu réfléchis un peu pour abstraire, organiser les choses, faire des classes abstraites... Enfin tu connecte tes objets entre eux et les fonctionnalités (les modules fonctionnels) découlent de l'interaction des objets entre-eux... Dès lors, un objet peut très bien contribuer à plusieurs tâches, mais chaque tâche est un résultat et pas le "rôle" de l'objet. Il ne faut pas oublier que la grande force de l'objet, c'est sa faculté à être réutilisé dans un autre contexte, pour faire autre chose. Si ta classe n'est pas réutilisable, tu passes à côté de l'intérêt de l'objet, donc à mon sens c'est une erreur de conception. Si ta classe est parfaitement réutilisable, tu connais son usage à un instant t, mais plus tard, elle pourra très bien jouer un autre rôle.
__________________
Mes articles : http://fsoriano.developpez.com Le tracing avec Event Tracing for Windows (ETW) |
|
|
|
|
|
|
#6 (permalink) | |
|
Expert Confirmé Sénior
![]() Date d'inscription: juin 2003
Localisation: Essonne
Âge: 28
Messages: 3 075
|
Citation:
Pour les rôles cela me paraît difficile dans la mesure tu peux avoir avoir un class qui soit associé à plusieurs autres donc qui peut avoir un rôle différent dans chaque cas. Pour la tâche en principe une class devrait se concentrer sur sa spécialité donc en avoir plusieurs paraît un peu foireux...
__________________
En grève. |
|
|
|
|
|
![]() |
![]() |
||
le rôle des classes
|
||
| Outils de la discussion | |
|
|