Voglio iniziare un nuovo progetto e mi sono appena messo in contatto con Play framework, che ha un approccio rubino su rotaie che ha richiamato la mia attenzione. Non sono un esperto di rotaie, ma penso che la produttività in questi quadri sia ottima.
Sto seguendo alcuni tutorial ma mi chiedo: Play ha il Modello, che viene utilizzato per popolare la vista ma anche per eseguire query DB. Trovo che in qualche modo imbarazzante, ma ho notato che anche le rotaie hanno questo approccio.
Mi chiedo se usare la stessa entità per la mappatura relazionale degli oggetti e popolare la vista possa causare problemi. Ecco due esempi a cui posso pensare:
- La mia vista richiedeva solo un nome e un ID di una grande entità
- La mia vista richiede informazioni da entità diverse
Per il secondo caso, suppongo che sarei in grado di eseguire un join. Ma sembra in qualche modo disordinato: si unisce al mio controller, le entità DB vengono utilizzate per popolare le visualizzazioni.
Mi manca un punto qui? Voglio dire, queste strutture sembrano grandi e mi piacerebbe usarle, ma mi chiedo se il mio codice si trasformi in un codice spaghetti. Sembra essere sulla direzione opposta di apprendere sulla separazione delle preoccupazioni.
Se mi separo in un'architettura a livelli (modelli per le mie visualizzazioni, il livello della logica aziendale e i livelli DAO), dovrei continuare a utilizzare la riproduzione o dovrei passare a qualcosa di diverso come Spring?