2010-04-08 11 views
2

Je suis relativement novice en programmation et novice en java, mais j'aimerais aller plus loin avec un petit projet de site Web axé sur les bases de données. J'ai beaucoup lu sur les exigences dans le 'monde réel' demandant une expérience avec Spring et Hibernate, donc j'ai installé ceux-ci sur netbeans et un projet créé (si je frappe, j'obtiens la page de printemps par défaut). Maintenant, j'ai juste besoin d'un peu de conseils pour savoir où commencer à concevoir mon application (s'il vous plaît dites-moi si je suis un peu trop sur ma tête pour un débutant!).Meilleure approche pour créer un site Web Java basé sur une base de données?

Dois-je commencer mes cours? - créer toutes mes classes lors de la mise en correspondance avec mes tables de base de données et décider quels attributs et méthodes seront nécessaires? Est-ce que quelqu'un peut suggérer de bons livres pour peut-être créer un site Web basé sur java à partir de zéro (de la conception au déploiement) qui pourrait être utile pour un débutant?

Toute aide appréciée merci. Edit: Depuis que j'ai publié ceci, j'ai trouvé un livre brillant qui correspond à mes besoins pour commencer. Tout d'abord j'ai essayé le printemps en action et hiberner en action - mais j'ai trouvé que les deux étaient un peu trop lourds pour mon esprit novice. Au lieu de cela, j'ai obtenu le développement Java EE 5 avec Netbeans 6 livre https://www.packtpub.com/java-ee5-development-with-netbeans-6/book et il a été d'une grande aide. Si vous utilisez netbeans et que vous êtes dans une position similaire à moi, je dirais ramasser!

+0

Ce n'est pas vraiment une question d'application java. Cela pourrait être utile http://stackoverflow.com/questions/574001/what-books-do-you-suggest-for-understanding-object-oriented-programming-design-de/574619 – sal

+0

Merci pour cela - excuses si je didn didn Ne l'étiquette pas correctement. Se penchera sur l'analyse et la conception orientées objet première tête. – Kiada

Répondre

2

Trop sur votre tête? Cela dépend de ce que vous espérez accomplir. Essayez-vous de créer un site générateur de revenus auquel les utilisateurs seront invités à faire confiance aux numéros de cartes de crédit et à d'autres informations sensibles? Alors ouais, tu deviens très en avance sur toi-même. Est-ce un outil pour un usage personnel ou un jouet que vous liez ensemble comme une expérience d'apprentissage? Ensuite, je dis "Pffffft!" à la notion d'over-the-head-ness. Fonce. Pour savoir par où commencer, je dis commencer par la partie la plus claire de cette bête. Avoir une idée solide de ce que la base de données va ressembler? Puis commencez avec elle et ses classes de soutien. Avoir une vision claire de ce que les entrailles du code sont censées faire? Commencez là. Etc. Et si toutes les choses sont égales, je dirais commencer par le bas avec la couche de base de données et travailler votre chemin vers le haut - mais c'est juste moi.

Et en ce qui concerne les livres, je ne peux pas vous aider, mais je suis sûr que quelqu'un peut.

+0

Merci pour cela - ouais c'est juste une expérience d'apprentissage. J'ai en fait une base de données déjà créée. J'ai déjà créé le site en php mais c'est une procédure et complètement spaghetti-ish (premier vrai code et site web) donc j'espère apprendre quelques concepts de POO et acquérir de l'expérience sur le site Java en le reconstruisant avec les outils décrits dans mon original poster! – Kiada

+0

Hmm. Si la base de données est définie, la création des classes qui y accèdent devrait être assez simple et vaut la peine d'être balisée plus tôt. Après cela, le meilleur mouvement pourrait être d'essayer d'écrire des classes qui dé-spaghettifient votre ancienne logique. Et connaissez-vous l'approche de conception de MVC (Model-View-Controller)? Ce n'est pas une fin en soi, mais j'ai trouvé que c'était un moyen très utile d'organiser ma pensée et mon code; mérite d'être étudié. Bonne chance, peu importe. – BlairHippo

+0

Ouais, on m'a déjà conseillé d'utiliser le design MVC pour faciliter l'organisation du code - un autre gros problème est que mon ancien code n'est pas du tout DRY. Je me demande comment je vais garder ce nouveau code SEC pendant l'implémentation du CRUD. Aurais-je créer une superclasse avec la fonctionnalité CRUD de base, et en quelque sorte passer les variables (table, champ, etc.) de l'enfant au parent pour effectuer le CRUD - ou j'écrirais des requêtes SQL dans les méthodes de chaque classe pour leur propre utilisation? Merci pour vos réponses - appréciez-le! – Kiada

1

Je suggère de jeter un oeil aux frameworks d'applications web tels que Spring's Roo ou Grails. Malheureusement, je n'ai aucune expérience avec Roo. Mais j'ai de l'expérience avec Grails. Avec Grails, vous travaillerez principalement avec Groovy, un langage similaire à Python, mais utilisant toujours la JVM. Vous aurez toujours la possibilité d'utiliser Java où vous voulez (je pense). Grails (et peut-être aussi Roo?) Gère Spring et Hibernate pour vous.

En ce qui concerne les livres sur Grails, je recommande "Grails in Action". J'ai lu un peu de "Grails 1.1 Web Application Development" et il semble également être une bonne référence. BTW, netbeans supporte aussi Grails.

+0

+1 pour la suggestion ROO ou Grails, j'aurais aimé avoir ce genre de cadres quand j'ai commencé le développement web java. – HeDinges

+0

Grails a l'air vraiment intéressant - va donner un coup d'oeil et attraper le plugin netbeans. Merci :) – Kiada

0

N'essayant pas de vider vos objectifs, mais si vous vous demandez si vous souhaitez commencer vos cours, je vous suggère de travailler davantage sur vos compétences en programmation.

Je suggère de jeter un oeil à "Applying UML & Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition)" de Larman ainsi qu'un livre sur la théorie de la base de données relationnelle (vous devez savoir comment modéliser les bases de données correctement.

Vous pouvez vous essayer à la création d'une application Web pilotée par base de données, et cela vous donnera peut-être un aperçu de la manière de le faire, mais vous devez avoir une certaine maturité pour intégrer ces compétences.

Ceci est une opinion complètement personnelle alors s'il vous plaît prendre avec un grain de sel: Avant que quelqu'un aborde la construction d'une application axée sur les données dans le but de pouvoir éventuellement l'utiliser dans des projets non-trivial, que la personne doit avoir une bonne exposition à la programmation (par bien, je veux dire beaucoup, disons 1-2 cours d'introduction, 1-2 intermédiaire et au moins un cours de niveau junior, peut-être un total de 15-30 crédits.) À moins que cette personne est un virtuose de la programmation naturelle, je ne le vois pas se produire autrement.

Je suggérerais, si vous êtes sérieux au sujet de la programmation, de dépenser une quantité substantielle sur l'apprentissage des principes fondamentaux avant d'aborder quelque chose comme ceci.

Bonne chance.

+1

Merci pour la réponse - J'ai d'abord conçu la base de données avant de plonger dans autre chose. Je l'ai conçu en lisant le http://apress.com/book/view/9781590597699 - Beginning Database Design: du débutant au professionnel. Il semble que le 'travail' soit juste, et les tutoriels de programmation de base de données que j'ai regardés depuis m'ont fait sentir tout à fait justifié sur la façon dont il a été conçu. Je vais certainement vérifier le livre suggéré - j'ai vraiment besoin d'aide pour savoir exactement où commencer!Je commence un diplôme en informatique en septembre - en essayant d'avancer d'un pied à l'avance :) – Kiada

+1

Aussi, en tant qu'étudiant adulte postulant à l'université sur le dos de GCSE (et une année en psychologie à l'université), je veux vraiment créer quelque chose de solide montrer au chef de cours quand je le rencontre pour une discussion dans quelques semaines (ce qui est une autre raison pour laquelle je veux réécrire tout le site de spaghetti php). – Kiada

+0

@Craig - vous semblez aller dans la bonne direction alors :) Le meilleur des chances! –

Questions connexes