私はJavaの初心者です。現在Eclipseを使用しています。私を混乱させているのは、ファイルをプロジェクト、フォルダー、およびパッケージに入れるという教義がはっきりしていないことです。新しいクラスを作成する場合、それを元のパッケージに入れるか、新しいパッケージまたは新しいフォルダー、さらには新しいプロジェクトを作成する必要がありますか。その理由は何ですか。
2 に答える
これは、開発しているアプリケーションに完全に依存します。多くのモジュールを含む大規模なアプリケーションを開発している場合は、互いにリンクされた異なるプロジェクトを作成する必要があります。
しかし、あなたは初心者だと言うので、質問に対する答えは次のようになります。クラスは常に別のパッケージに分類する必要があります。分類は完全にあなたの選択です。慣れている場合は、アルファベット順に分類することもできます。私は通常、すべてのコントローラー クラスが 1 つのパッケージに含まれるように、それらを機能に従って分類します。Bean クラス、リスナー、定数、ビルダー、ユーティリティ、パーサー、コンパレーター、モデル、レンダラーなども同様です。
この Java プラクティスの記事が役に立ちます。
プロジェクトの構造
構造については、Maven の規則に従うことを強くお勧めします: http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html これらは、長年の経験の結果です。
ただし、このような構造の設計は、常に拡張性と単純さの間の妥協の問題です。予測すればするほど、維持が複雑になりますが、投資が急速に成長すれば、より多くの投資を回収できます。
実用的になるために、そして私でさえ本当に確信が持てません (私の仕事は予測することなので ;))、KISS の哲学を試してみてください: http://en.wikipedia.org/wiki/KISS_principle .
パッケージ構造
Amandeep Jiddewar が言ったように、パッケージは独自の機能を表す必要があります。少なくとも、 http://docs.oracle.com/javase/tutorial/java/package/namingpkgs.htmlのような逆ドメインである必要があります。たとえば、stackoverflow API は次のようになります。com.stackoverflow.*
そしておそらく、彼らは初めてそれを MVC パターンに落とし込みました。
- com.stackoverflow.controler
- com.stackoverflow.model
- com.stackoverflow.view
等々...
そして、プロジェクトが成熟したとき...または成長しすぎたとき、彼らはそれをプレゼンテーション層の戦争とサービス層のjarに分割しました...
その他の考慮事項
特定のルールはありません。私が言ったように、あなたは常に妥協に対処しなければなりません。構成を変更するタイミングを知るには、経験のみが必要です。
その他のアイデアについては、スタックオーバーフローを参照してください。