web-dev-qa-db-fra.com

Comment approchez-vous la conception de classe dans Oops?

Lorsque j'essaie de concevoir une solution OO, j'utilise généralement le [~ # ~ # ~] CRC [~ # ~] Modélisation dans laquelle J'écris les noms de classe (noms), ce qu'ils font (verbes) et comment ils collaborent avec d'autres classes.

Ce blog a la chose ci-dessous à dire à propos de cette approche de verbe.

   ...This approach, which I will call “noun and verb,” is so limited 
   I’ll dare to call it brain damaged....

Ma question est que une meilleure technique de modélisation existe-t-elle pour utiliser une approche OO?

12
Vinoth Kumar C M

Je n'ai jamais trouvé de telles méthodes utiles pour moi. En fait j'ai constaté que les utiliser qui me confondent pire. Vérifiez Cafetière de Robert C. Martin , je ne pense pas qu'il utilise ce type d'approche non plus.

Une chose qui me dérange tout de suite est la solution que la personne vienne dans l'article de la CRC que vous liez. La collaboration client/commande n'est pas quelque chose que je considère comme utile, pas comme écrit de toute façon. Il n'y a rien de particulièrement intéressant dans ce modèle sur un client qui mérite le statut de classe. La seule chose qui intéresse être un "client", c'est qu'il y a une ou plusieurs commandes associées à cette personne .

Le modèle collégial également. Il y a beaucoup de choses qui peuvent et devraient probablement être partagées entre étudiant et professeur. De plus, que se passe-t-il lorsque vous avez un professeur prenant une classe, comme il est très souvent permis de libérer sur les campus universitaires?

Je suppose que cela pourrait être une pratique intéressante, un élément de la boîte à outils de conception. Je ne pense pas que ce soit le seul moyen de contacter le design au moins. Franchement, je trouve l'approche d'analyse de communité/variation plus utile. Il me semble que nous mourons de modéliser de très près ce que nous faisons dans la classification des abstractions pendant la vie quotidienne.

EDIT: Il suffit de lire la moitié de ce deuxième blog et je dois dire que je suis d'accord avec ça beaucoup. Je vais devoir lire le reste et voir ce qu'il propose en termes d'apprentissage.

3
Edward Strange