Korzystam z przewodnika po stylu AngularJS. W tym przewodniku jest styl zwany folder-by-feature
zamiast folder-by-type
, i jestem ciekawy, jakie jest najlepsze podejście (w tym przykładzie dla Javy)
Załóżmy, że mam aplikację, w której mogę odzyskiwać użytkowników i zwierzęta, korzystając z usług, kontrolerów, repozytoriów i obiektów domeny oczywiście.
Biorąc pod uwagę style sortowania według, mamy dwie opcje dla naszej struktury opakowania:
1. Folder według typu
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. Folder według funkcji
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
Jakie byłoby dobre podejście i jakie są tego argumenty?
Pet
, kontrolera, repozytorium i usługi. W jakiej sytuacji potrzebowałbym kiedykolwiek wszystkich kontrolerów, ale nie widoków, repozytoriów lub usług?