Comment dois-je structurer une application Java, où dois-je placer mes classes?

Tout d'abord, je sais comment construire une application Java. Mais j'ai toujours été perplexe sur où mettre mes classes. Il y a des partisans de l'organisation de la les paquets dans un domaine strictement orientée vers la mode, d'autres séparés par niveau.

J'ai moi-même toujours eu des problèmes avec

  • de nommage,
  • placer

Donc,

  1. Où mettez-vous votre domaine spécifique des constantes (et quel est le meilleur nom pour une classe)?
  2. Où avez-vous mis des classes pour des choses qui sont à la fois des infrastructures et spécifique au domaine (par exemple, j'ai un FileStorageStrategy classe, qui stocke les fichiers dans la base de données, ou bien dans la base de données)?
  3. Où mettre Exceptions?
  4. Sont il des normes à qui je peux consulter?
  • Il n'y a évidemment pas de réponse définitive, mais après l'utilisation de maven2 pendant un certain temps je suis venu à appriciate la structure donnée, et par conséquent, je déclare le maven réponse comme celle-ci. (Cela ne signifie pas que les autres sont mauvais, ou quoi que ce soit) je viens de réaliser combien il est plus facile de ne pas avoir à réfléchir sur les premières étapes de votre construction, vous déposez simplement vos sources et reources dans celles données des répertoires et ça compile sans créer de fichiers ant et d'autres choses.