Recentemente, abbiamo iniziato a migrare un'applicazione di primavera a java 8. L'applicazione è divisa in 3 livelli, controller di riposo, servizio e il livello del repository. Il nostro 'architetto' ha proposto che il nostro livello di servizio accetti sempre una funzione di mappatura, ad es.
public <T> Optional<T> getCompany(int companyId, Mapper<S,T> mapper)
La sua ragione è la flessibilità: consentire alla classe chiamante di formattare il risultato in qualsiasi modo o desiderio.
Non sono d'accordo con la proposta, perché penso che sia solo un abuso della funzionalità. Allo stesso tempo, non voglio dare l'impressione che non sono disposto ad adattare le nuove funzionalità / concetti se realmente apportano benefici.
La mia domanda è, la proposta sopra è valida o solo un abuso di una funzionalità di java 8?