Ich benutze einen AngularJS-Styleguide. In diesem Handbuch gibt es einen Stil namens folder-by-feature
statt folder-by-type
und ich bin gespannt, was der beste Ansatz ist (in diesem Beispiel für Java).
Angenommen, ich habe eine Anwendung, mit der ich Benutzer und Haustiere mithilfe von Diensten, Controllern, Repositorys und natürlich Domänenobjekten abrufen kann.
Unter Berücksichtigung der Ordner-nach -...-Stile haben wir zwei Optionen für unsere Verpackungsstruktur:
1. Ordner nach Typ
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. Ordner nach Funktion
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
Was wäre ein guter Ansatz und welche Argumente sprechen dafür?
Pet
, dem Controller, dem Repository und dem Service profitieren . In welcher Situation würde ich jemals alle Controller benötigen, außer den Views, Repos oder Services?