AngularJSスタイルガイドを使用します。このガイド内にはfolder-by-feature
、の代わりにと呼ばれるスタイルがあり、folder-by-type
実際には最良のアプローチは何ですか(この例ではJavaの場合)
サービス、コントローラー、リポジトリー、もちろんドメインオブジェクトを使用して、ユーザーとペットを取得できるアプリケーションがあるとします。
folder-by -.....スタイルを使用すると、パッケージ構造に2つのオプションがあります。
1.タイプごとのフォルダー
com.example
├── domain
│ ├── User.java
│ └── Pet.java
├── controllers
│ ├── UserController.java
│ └── PetController.java
├── repositories
│ ├── UserRepository.java
│ └── PetRepository.java
├── services
│ ├── UserService.java
│ └── PetService.java
│ // and everything else in the project
└── MyApplication.java
2.機能ごとのフォルダー
com.example
├── pet
│ ├── Pet.java
│ ├── PetController.java
│ ├── PetRepository.java
│ └── PetService.java
├── user
│ ├── User.java
│ ├── UserController.java
│ ├── UserRepository.java
│ └── UserService.java
│ // and everything else in the project
└── MyApplication.java
良いアプローチとは何でしょうか、そうするための議論は何ですか?
Pet
コントローラ、リポジトリ、およびサービスの局所性の恩恵を受けるでしょう。どのような状況で、すべてのコントローラーが必要になりますが、ビュー、リポジトリ、またはサービスは必要ありませんか?