2017-01-10 3 views
0

これは、Javaパッケージのレイアウト方法について、ここで実験的に考えています。 Java開発者としてJavaパッケージを構成する

我々はおそらく無数の回1つのフォームまたは別で次のレイアウトを思えてきた:

com.example.service.rest 
UserRestService.java 
BookRestService.java 
TaskRestService.java 

com.example.service.rest.impl 
UserRestServiceImpl.java 
BookRestServiceImpl.java 
TaskRestServiceImpl.java 

com.example.data 
UserDTO.java 
BookDTO.java 
TaskDTO.java 

私は長年、このようなレイアウトの消費者となっています。

レイアウトが全く異なるNodeJSプロジェクトに私は簡単に関わっていました。私は、すべてのコンポーネントの平坦さ、シンプルさ、および封じ込めが大好きでした。

私が慣れていたものと比較して、私のクラスはエクスペリエンスが起こったかのように投げられた(上記のレイアウト)ように感じました。

(Javaへの翻訳)NodeJSプロジェクトのレイアウトは次のようになります。

com.example.service.rest.user 
UserDTO.java 
UserRestService.java 
UserRestServiceImpl.java 

com.example.service.rest.book 
BookDTO.java 
BookRestService.java 
BookRestServiceImpl.java 

com.example.service.rest.task 
TaskDTO.java 
TaskRestService.java 
TaskRestServiceImpl.java 

私はすべてのディレクトリ/パッケージには、残りのコントローラを含んでいるでしょう非常にフラットな構造、サービスを持っていたから、これを採用したNodeJSレイアウトを、およびDAL/DAO。

すべてのようなフェルトは、組織化されたマイクロバケットに分割されていました。

これまで誰も大規模で第2のアプローチを試したことがありますか?
最初のレイアウトと2番目のレイアウトの違いは何ですか?
件名の閲覧リソースはありますか?

+0

なぜあなたのオブジェクトにxxxDTOという名前を付けましたか? –

+0

私はUserDAO、BookDAO、TaskDAOをビジネスロジック側に持っているように、ちょうどコンベンションである必要はありません –

+1

その意味を知らない場合は、そのような名前を使用しないでください。 –

答えて

1

あなたのパッケージを意味のある方法でレイアウトすることができます。 「NodeJS」レイアウトと呼ばれるものは、Javaコードではかなり一般的です。各APIには、独自のロジックを使用してパッケージ構成を推進させることができます。これは、保守を効果的にサポートするパッケージレイアウトを選択するコンピュータプログラミングの技術の一部です。

私は本当に戦略と本質的に異なるものは見ません。彼らは恣意的であり、異なるプロジェクトに役立つ可能性があります。私はあなた、チーム、そして個々のプロジェクトに最も合ったものを使用することをお勧めします。

関連する問題