2009-10-07 6 views
-1

Je suis à la recherche d'une application Java open source (application C# est également ok), pour apprendre & comprendre la bonne conception orientée objet.Bonne application Java pour apprendre OOD

Plus précisément, je suis à la recherche d'interactions avec la base de données relationnelle, afin que je puisse comprendre les détails plus fins entre la conversion d'une conception OO à la structure non-OO.

J'ai regardé quelques échantillons ORM. Alors qu'ils enseignent la bonne conception OO, il y a trop de magie qui se passe, qui cache beaucoup de détails sur l'interaction de la base de données.

Avez-vous des suggestions?

+0

Les réponses à cette question fournissent beaucoup d'exemples décents de C#: http://stackoverflow.com/questions/563030/where-can-i-find-a-good-nhibernate-and-asp-net-mvc- référence-application. –

+0

@Shaw: ORM sont très peu susceptibles de vous apprendre la bonne conception OO car un ORM est fondamentalement un outil pour faciliter la plomberie entre deux concepts complètement orthogonaux: OO et RDB. Un article éclairant sur le sujet par Ted Newards appelé * "Le Vietnam de l'informatique" * (ORM): http://blogs.tedneward.com/2006/06/26/The+Vietnam+Of+Computer+Science. aspx – SyntaxT3rr0r

Répondre

1

ORM de sont juste une correspondance entre la base de données et le code des objets. Si vous l'installez et l'utilisez, vous en aurez "l'impression" et cela ne vous semblera pas "magique".

Voici une suggestion: configurez un projet simple en utilisant Hibernate, d'abord avec une seule table, puis avec un exemple relationnel (quelque chose qui nécessite une jointure). Hibernate peut être configuré pour consigner les requêtes lors de son exécution, ainsi vous pouvez voir comment il traduit.

Une autre option consisterait à exécuter des exercices similaires avec quelques cadres, par ex. rails activerecord (qui est assez simple à mettre en place). Ensuite, essayez (peut-être un peu de manière avancée) d'écrire les vôtres, peut-être pas quelque chose de complet qui gère les configurations plusieurs-à-plusieurs, mais qui mappe une requête d'API à une requête de base de données générée. un objet de la sortie. Cela va définitivement démystifier le processus.

0

Voir la Collections Framework

À quelques exceptions à la règle (la mise en œuvre de la pile, par exemple), il montre quelques vrais bons exemples de modèles de conception appliqués (stratégie, Iterator, etc.), l'encapsulation, les algorithmes, la composition, la réutilisation de code etc .. En outre, c'est un bon début pour vous enseigner des génériques. Appris plus sur les modèles et les algorithmes en lisant ses sources qu'avec n'importe quel livre.

Questions connexes