/
javapractice
/
JavaPractice
Обзор
Документация
Войти
/
javapractice
/
JavaPractice
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
2
CI/CD
Аналитика
develop
SOLID/src/main/java/dip/example/wrongSchema/App.java
31 строка
2 KB
Zexa91x0
SOLID - DIP
29 май 2021, 19:28
29 май 2021, 19:28
87721f6
Код
Авторство
О чём код?
package dip.example.wrongSchema; /** * Модули верхнего уровня не должны зависеть от модулей нижнего уровня. Оба должны зависеть от абстракций <br> * <p> * Абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций. <p> * <p> * Правила: <br> * все переменные-члены класса должны быть или абстрактными классами или интерфейсами <br> * классы не должны наследоваться от не абстрактных классов или интерфейсов <br> * методы не должны замещать методы реализации <br> * Никогда не упоминайте название чего-либо конкретного <p> * <p> * Ошибка в том, что класс c реализацией способа аутентификации жестко связан с фабрикой аутентификации: * {@link LoginManager#simpleLogin}<br> * Если мы решим изменить способ аутентификации, то нам придется переписывать и фабрику тоже. */ public class App { public static void main(String[] args) { // пример использования: // создаем пользователя которого будем аутентифицировать User user1 = new User(1, "Василий", "123"); // создаем экземпляр класса фабрики аутентификации LoginManager loginManager1 = new LoginManager(); // аутентифицируем пользователя loginManager1.authenticate(user1); } }