アプリケーションの開発を開始するとき、パッケージを使用してクラスを論理的に編成します。ほとんどの場合、ドメイン( などcom.raysis.reportgen.domain
) と呼ばれるパッケージがあります。私の質問は、このパッケージに何を入れるべきで、何を入れるべきではないかということです。標準的な定義はありますか、それともプログラマーの好みだけですか?
以前に、ここで何かを読みました: Javaドメインモデルとは?
アプリケーションの開発を開始するとき、パッケージを使用してクラスを論理的に編成します。ほとんどの場合、ドメイン( などcom.raysis.reportgen.domain
) と呼ばれるパッケージがあります。私の質問は、このパッケージに何を入れるべきで、何を入れるべきではないかということです。標準的な定義はありますか、それともプログラマーの好みだけですか?
以前に、ここで何かを読みました: Javaドメインモデルとは?
ドメインモデルを構成するクラスを配置する必要があります。何がドメイン モデルに属し、何が属していないかを定義から始めましょう。ウィキペディアによると
Domain model describes the various entities, their attributes, roles,
and relationships, plus the constraints that govern the problem domain
したがって、上記の概念を表すクラスをコードに配置する必要があります。コードには、ドメイン モデルの一部ではない他のクラスがあります。それらのいくつか:
パッケージ編成は、基本的に常に開発者の選択です。私の知る限り、パッケージ構造をどのように配置するかについて厳密な基準はありません。
明らかに、クラスを維持し、それらの「関心事」を定義するために、プロジェクトで従うべきいくつかのベスト プラクティスとJava 規則があります。
通常、domain
サブパッケージはドメイン オブジェクト (またはモデル オブジェクト) を配置するために使用され、主に MVC パターンを中心に実装されたプロジェクトで使用されますが、それだけではありません。モデル オブジェクトは、DB 内のテーブルをマップするか (ORM を使用している場合)、アプリケーション ロジックに含まれるエンティティを表す単なるクラスです。