java
java copied to clipboard
Violación 1-DIP: Manager.java depende de clases concretas
Solución propuesta:
Usar interfaces para validación y persistencia e inyectarlas.
Código propuesto:
public interface IValidator {
boolean checkFileExist();
String checkInputUsername();
String checkInputPassword();
}
public interface IUserDataAccess {
void addAccountData(String username, String password);
String passwordByUsername(String username);
}
public class Manager {
private IValidator validator;
private IUserDataAccess dataAccess;
// ...
}
UML propuesto:
classDiagram
class Manager { -IValidator validator -IUserDataAccess dataAccess }
class IValidator { <<interface>> }
class IUserDataAccess { <<interface>> }
Manager o-- IValidator
Manager o-- IUserDataAccess
Gómez S.