Utknąłem z ustaleniem dobrej konwencji nazewnictwa dla warstwy usługowej w aplikacji wiosną. Dla każdej klasy w warstwie serwisowej najpierw piszę interfejs, który powinien zaimplementować, a następnie rzeczywistą klasę. Tak na przykład mam następujący interfejs:Jakiej konwencji nazewnictwa używasz dla warstwy usługi w aplikacji Spring MVC?
public interface UserAccountManager{
public void registerUser(UserAccount newUserAccount);
public void resetPassword(UserAccount userAccount);
...
}
a następnie klasę implementacji ...
Co robaki mnie Oto UserAccountManager to dobra nazwa dla klasy implementacji więc jestem zmuszony do oddania go głupia nazwa jak SimpleUserAccountManager lub UserAccountDbManager. Jakie są niektóre z dotychczasowych konwencji? Czy dobrze jest umieścić klasy implementacji w innym pakiecie i nadać im takie same nazwy jak interfejsy? Co sądzisz o używaniu nazw kończących się na Menedżerze zamiast nazw kończących się na Usługach?
Czy po prostu zadzwonisz zarówno do interfejsu, jak i do impl UserAccountManager? – Dejell
Podczas pracy z narzędziami takimi jak jdepend, wygodnie jest oddzielić kod od "pakietów interfejsów" i "pakietów implementacyjnych". Pomaga zrozumieć skutki zmian kodu. –