🔹 Single Responsibility Principle (SRP)
UserValidator: Only handles validation logic PasswordService: Only manages password operations UserRepository: Only handles data persistence Each class has a single, well-defined purpose
🔹 Open/Closed Principle (OCP)
BaseNotificationService: Abstract class open for extension