Hago uso de una guía de estilo AngularJS. Dentro de esta guía hay un estilo llamado folder-by-feature
, en lugar de folder-by-type
, y tengo curiosidad por saber cuál es el mejor enfoque (en este ejemplo para Java)
Digamos que tengo una aplicación donde puedo recuperar Users & Pets, usando servicios, controladores, repositorios y, por supuesto, objetos de dominio.
Tomando los estilos de carpeta por ... tenemos dos opciones para nuestra estructura de empaque:
1. Carpeta por tipo
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. Carpeta por función
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
¿Cuál sería un buen enfoque y cuáles son los argumentos para hacerlo?
Pet
controlador, el repositorio y el servicio. ¿En qué situación necesitaría alguna vez todos los controladores, pero no las vistas, repositorios o servicios?