Estoy atascado con la idea de una buena convención de nombres para la capa de servicio en una aplicación de primavera. Para cada clase en la capa de servicio, primero escribo la interfaz que debe implementar y luego la clase real. Así, por ejemplo, tengo la siguiente interfaz:¿Qué convención de nomenclatura usa para la capa de servicio en una aplicación Spring MVC?
public interface UserAccountManager{
public void registerUser(UserAccount newUserAccount);
public void resetPassword(UserAccount userAccount);
...
}
Y entonces la clase de implementación ...
Lo que me molesta aquí es UserAccountManager es un buen nombre para la clase de implementación por lo que me veo obligado a darle un nombre estúpido como SimpleUserAccountManager o UserAccountDbManager. ¿Cuáles son algunas de las convenciones que ha utilizado hasta ahora? ¿Es una buena idea poner las clases de implementación en un paquete diferente y darles los mismos nombres que las interfaces? ¿Cuáles son sus pensamientos sobre el uso de nombres que terminan en Administrador sobre los nombres que terminan en Servicio?
¿Llamarías tanto a la interfaz como a la impl UserAccountManager? – Dejell
Cuando se ejecutan herramientas como jdepend, es cómodo separar el código en "paquetes de interfaz" y "paquetes de implementación". Te ayuda a comprender los efectos de los cambios de código. –