Внедрение зависимостей

Для того, чтобы конечный пользователь мог видеть на экране своего устройства, любое Java-приложение имеет несколько объектов, которые взаимодействуют друг с другом. При написании масштабных и сложных проектов с использованием технологии Java, максимальная независимость классов друг от друга является критической. Это позволяет применять повторное использование кода и облегчает тестирование и поддержание проекта.

И здесь нам на помощь приходит такое понятие, как внедрение зависимостей, которое позволяет нам связывать эти классы друг с другом, при этом сохраняя их независимыми друг от друга.

Рассмотрим некое “сферическое” приложение “в вакууме”, которое проверяет правильность ответа на определенный вопрос в ходе экзамена. Пример приложения: исходный код проекта можно скачать по ЭТОЙ ССЫЛКЕ.

Структура проекта:

Класс Exam.java:

Класс AnswerChecker.java:

Класс ExamRunner.java:

Конфигурационный файл exam-config.xml:

Результат работы программы:

Что мы можем видеть в этом приложении?

Класс Exam не должен беспокоиться о том, кто и как будет проверять правильность ответов. Его задача просто “провести экзамен”, вызван экземпляр класса AnswerChecker, в котором и будет реализовано бизнес-логика проверки. Это значит, что при необходимости мы сможем просто написать другую реализацию проверки правильности ответа и вызвать экземпляр этого класса-“проверяльщика”.

results matching ""

    No results matching ""