Quelles sont les directives générales et les meilleures pratiques à garder à l'esprit lors de la conception Java application [Applications de console simples sur les applications J2EE] ?.
Salut
J'ai récemment terminé Java Didacticiel de programmation à partir de Sun et pratiqué Core Java (j'ai une expérience de programmation précédente). Maintenant, je comprends les bases de l'héritage, de l'abstraction, du polymorphisme, Encapsulation
Maintenant j'écris Java code sans grande difficulté, mais je ne suis pas sûr de la conception d'applications. C'est mon problème principal: "Conception" de l'application. Dites si j'ai une tâche à créer une application À Java, que dois-je commencer? Comment penser? Toutes les directives formelles/informelles que je devrais suivre en développant des hiérarchies de classe? Je suis vraiment confus (classe abstraite ou interface ou sous-classe ..). Devrais-je commencer par modèle Tout, avant d'écrire du code?
Il serait très utile que les gens aiment que je dispose d'un ensemble de directives générales/meilleures pratiques, que nous pouvons suivre tout en commençant à développer une nouvelle Java Application.
S'il vous plaît me fournir des lignes directrices/pensées/livres/ressources/outils que je devrais lire ou utiliser
Merci d'avance Scott
Il est difficile de donner des conseils vraiment généraux car il y a tellement de différences Java applications sur différents domaines. Cependant, un livre absolument recommandé est conception entraînée sur le domaine par Eric Evans. Voir aussi Wikipedia pour une introduction courte sur elle.
Conseil général:
À mon avis, tout se résume à la rencontre ci-dessous
Atteindre ce qui précède, il existe certaines directives et principes suggéré par des experts basés sur l'expérience qui sont
Ces directives et principes sont indépendants de tout paradigme ou langue de programmation. Toutefois, OOP Langues aidez les outils plus faciles.
Je vous conseille vraiment de jeter un coup d'œil à Principes de saisie , cela vous donne une bonne base de conception.
Il y a divers paradigmes (très souvent 3 lettres acronymes):
Avec ces mots-clés, vous trouverez beaucoup d'informations sur le Web.
En J2ee, je dirais que le SDD est le plus utilisé (il est maintenant très "normalisé", même si je ne suis pas sûr que ce soit la meilleure solution): service (logiciel "intelligence")> domaine (objets de haricots utilisés pour persistance)> Dao (persistance).
Maintenant, DDD est de plus en plus utilisé: la conception est recentrée sur des objets de domaine, qui prennent la couche "Intelligence logicielle".
Bienvenue dans le débordement de pile. Si vous êtes bon avec Java, lisez-la tête de première conception. et tête d'une première analyse orientée objet et de conception - ER, peut être dans l'ordre inverse :)
Commencez par regarder des diagrammes de classe UML qui obtiendrez la balle à rouler dans la bonne direction, puis jetez un coup d'œil à un gang de quatre motifs de conception. C'est une excellente première étape.
http://fr.wikipedia.org/wiki/class_diagramme
http://fr.wikipedia.org/wiki/design_patterns
Enfin, je verrais sur un bon code open source comme le cadre de printemps
Je recommanderais un design émergent avec TDD.
Je pense qu'il n'y a rien de spécifique à Java Design: Si vous connaissez déjà la conception de l'objet, vous êtes prêt à partir!
Ne commencez pas à coder immédiatement sans avoir de conception. Mais cela ne signifie pas que vous devez concevoir tout avant le codage. Parce que de mes expériences précédentes, je n'ai pas pu avoir de conception qui n'a pas besoin de corrections. Surtout si vous êtes nouveau dans une langue de programmation, votre conception changera en fonction des fonctionnalités de la langue que vous utilisez et des bibliothèques disponibles. Mon conseil est d'avoir une conception générale basée sur les aspects les plus importants de la conception orientée objet telle que l'héritage, le polymorphisme, l'encapsulation, etc. à partir de cette conception générale et des besoins que vous rencontrez lors de la programmation, révisez votre conception en conséquence.
Autant que vous êtes expérimenté dans la langue, votre première conception générale conviendra de manière beaucoup plus efficace pour votre programme.
Bien que la plupart des gens disent que la conception orientée d'un objet devrait pouvoir être écrite dans n'importe quel langage orienté objet, il n'est pas facile d'avoir une très bonne conception générique comme celle-là. Pour être plus réaliste, sans tenir compte de la langue utilisée pour la mise en œuvre d'une conception particulière n'est pas un bon chemin aussi loin que moi.
Les chances bien que vous ferez a déjà été faite avant - au moins quelque chose de similaire. Heureusement, il y a beaucoup de choses open-source de nos jours. Donc, si vous n'avez vraiment aucune idée, une chose que vous pouvez faire est de télécharger plusieurs applications open source qui font la même chose et les étudient. Cela devrait vous donner un bon départ.