2010-06-24 7 views
6

DESCARGO DE RESPONSABILIDAD: Estoy casi seguro de haber visto la misma pregunta antes, pero no puedo encontrarla ahora. Si alguien encuentra esa pregunta, por favor, dé un enlace.Convenciones de nomenclatura para la capa de persistencia: DAO vs Manager vs ...?

Oí al menos dos opiniones sobre el mejor nombre para las clases que implementa operaciones CRUD: alguien dice que DAO es un nombre clásico y todos saben lo que significa, pero otros dicen que Manager corresponde mucho mejor a la funcionalidad CRUD.

¿Existen reglas inequívocas cuando debo elegir uno u otro (u otro nombre)?

Respuesta

6

Definitivamente no me gusta Manager; "administrar" algo podría significar (y se usa para decir) todo tipo de cosas. Si teme que las personas no sepan lo que DAO significa, siempre podría deletrearlo como "Acceso a datos", por ejemplo. Pero encuentro que DAO es ampliamente entendido.

Otro enfoque es utilizar el Repository pattern y llamar a su clase SuchAndSuchRepository. Esto no es necesariamente lo mismo que un DAO (puede envolver uno o más DAO) pero puede proporcionar un lugar claramente nombrado para obtener sus objetos. Si quiero un objeto Person, sé que debo buscar el PersonRepository. .

0

Diría Gerente, porque cualquier "suposición" puede causar algún caos. Y en este caso, creo que está asumiendo que todos los cuerpos conocen DAO.

2

+1 para DAO.
El administrador es impreciso y podría aplicarse a muchas otras cosas además de las de DAO.
p. swing.DesktopManager, ErrorManager, FontManager, JavaFileManager, XMLEntityManager son algunas de las más de 200 clases actualmente disponibles en mi IDE worskapce, ninguna de las cuales parece tener nada que ver con la persistencia de la base de datos.

Cuestiones relacionadas