Sto facendo di sbagliato con il livello DAO di Hibernate? Ad esempio Feature Bloat

0

Per la prototipazione rapida ho usato attivamente Hibernate. Recentemente sono tornato a un vecchio progetto e mi sono chiesto perché avevo molti DAO con quello che sospetto sia comunemente chiamato feature bloat. Per esempio.

Ho un DAO per singole entità che contiene da 15 a 20 metodi ciascuna.

Recentemente ho utilizzato Hibernate Generico D.A.O. Framework ma continuo a pensare che lo stesso problema si presenta quando sto cercando di creare una logica di accesso ai dati personalizzata e il mio codice Olfaction inizia a rilevare cattivi odori.

Esiste una linea guida per questi scenari?

    
posta ElderMael 21.02.2014 - 21:11
fonte

1 risposta

1

Ciò di cui parli sembra più specifico di modello del repository , rispetto al DAO generico.

E mentre molte persone vi diranno che c'è un certo vantaggio dall'usare i repository come modo per astrarre l'accesso ai dati, ci sono alcune persone che non sono d'accordo. Non solo l'astrazione del repository YAGNI al limite del pio desiderio, si ottengono i problemi di avere metodi 1000 + 1 che assomigliano a "GetCustomerBy (numero arbitrario di campi) Con (arbitraryNumberOfFields)" rendendolo ancora più difficile da mantenere. Ciò diventa ancora più evidente quando inizi a utilizzare ORM come Hibernate.

Raccomando di leggere Repository è il nuovo Singleton e I mali del livello di astrazione del repository di Ayende.

    
risposta data 22.02.2014 - 14:26
fonte

Leggi altre domande sui tag