まず、C#からJavaに(戻って)来ているので、私の用語や哲学が完全に一致していない場合はお詫びします。
背景は次のとおりです。Web用に作成された内部サポートツールのコレクションが増えています。フロントエンドにはHTML5/AJAX /その他の流行語を使用し、バックエンドにはJavaを使用します。これらのツールは、軽量の社内フレームワークを利用しているため、セキュリティやその他の構成のための管理インターフェイスを共有できます。各ツールは別々の作成者によって作成されており、この傾向は今後も続くと思います。そのため、将来の作成者が、すでに使用することを決定したサードパーティのライブラリで「標準化」された状態を維持できるようにしたいと思います。 DI、単体テスト、ORMなど。
現在、パッケージの名前は次のようになっています。
- com.ourcompany.tools.framework
- com.ourcompany.tools.apps.app1name
- com.ourcompany.tools.apps.app2name
...等々。
だからここに私の質問があります:これらのアプリ(およびフレームワーク)のそれぞれは、Mavenセットアップ、Eclipseなどの目的のために別々のプロジェクトとして扱われるべきですか?
時間の経過とともに多くのアプリがここに表示される可能性があるため、分離することで依存関係がよりクリーンに保たれ、誰かが1つのツールに簡単にアクセスできるようになります。一方、(1)パッケージ構造のより深い部分を複数のプロジェクトに「分割」することはコードの臭いであり、(2)それらを組み合わせておくと、ツール作成者は他のプロジェクトにすでに配置されているサードパーティのライブラリを使用する傾向が強くなります。ツール。
FWIW、私の最初の本能はそれらを分離することです。
Javaの達人、何て言うの?