java
java copied to clipboard
Violación 3-DIP: Main.java instancia clases concretas directamente
Solución propuesta:
Definir interfaces y usarlas en el Main.
Código propuesto:
public interface IValidation {
int checkInputIntLimit(int min, int max);
// otros métodos
}
public interface IManager {
void createStudent(...);
void findAndSort(...);
// otros métodos
}
public class Main {
private IValidation validation;
private IManager manager;
// ...
}
UML propuesto:
classDiagram
class Main { -IValidation validation -IManager manager }
class IValidation { <<interface>> }
class IManager { <<interface>> }
Main o-- IValidation
Main o-- IManager
Gómez S.
// Using interfaces to follow Dependency Inversion Principle. // Main does not depend on concrete classes directly. // High-level module depending on abstractions