Hallo,
das Single Responsibility Princple lässt mir in letzter Zeit keine Ruhe.
Ich habe eine UserService-Klasse, die diverse Operationen am User durchführt (Login, Registrierung, Aktivierung, Passwort-Änderung, Mail-Kontakt).
Alles dreht sich um den User. Deswegen habe ich so eine UserService-Klasse gebaut.
Nun laut dem SRP sollte eine Responsibility haben.
In meinen Augen ist die Responsibility in diesem Fall der User. Dadurch ergeben sich aber dann Methoden wie "sendeWillkommensNachrichtAnDenUser" oder "ändereUserMail".
Methode sendeWillkommensNachrichtAnDenUser ruft den Mail-Service, der nur email verschickt. Wäre das schon der Bruch von RSP?
Methode "ändereUserMail" arbeitet mit dem User-Repository und mit dem Mail-Service. Wäre das schon der Burch von RSP?
Muss man vllt. nicht den User in den Mittelpunkt des Services stellen, sondern was eigentlich gemacht wird:
Login ->LoginService
Registrierung ->RegiterService
User aktivieren -> UserActivationService
User verändern -> UserChangeService
Lg
das Single Responsibility Princple lässt mir in letzter Zeit keine Ruhe.
Ich habe eine UserService-Klasse, die diverse Operationen am User durchführt (Login, Registrierung, Aktivierung, Passwort-Änderung, Mail-Kontakt).
Alles dreht sich um den User. Deswegen habe ich so eine UserService-Klasse gebaut.
Nun laut dem SRP sollte eine Responsibility haben.
In meinen Augen ist die Responsibility in diesem Fall der User. Dadurch ergeben sich aber dann Methoden wie "sendeWillkommensNachrichtAnDenUser" oder "ändereUserMail".
Methode sendeWillkommensNachrichtAnDenUser ruft den Mail-Service, der nur email verschickt. Wäre das schon der Bruch von RSP?
Methode "ändereUserMail" arbeitet mit dem User-Repository und mit dem Mail-Service. Wäre das schon der Burch von RSP?
Muss man vllt. nicht den User in den Mittelpunkt des Services stellen, sondern was eigentlich gemacht wird:
Login ->LoginService
Registrierung ->RegiterService
User aktivieren -> UserActivationService
User verändern -> UserChangeService
Lg