Большинство внутренних слоев взаимодействуют с внешними уровнями посредством абстракции (интерфейс и абстрактный класс).
Моя программа соответствует чистой архитектуре, и у меня есть следующее:
- домен
entity
Student.java - Курс.java
- Репозиторий (интерфейс)
- StudentRepository (интерфейс)
< li>CourseRepository (интерфейс)
[*]use case
- StudentUseCase.java
- CourseUseCase.java
- данные
ConnectionFactory.java - DAO (интерфейс)
- StudentDAO.java (интерфейс, расширяющий DAO)
- CourseDAO.java (интерфейс, расширяющий DAO)
- StudentDAOImpl.java
- CourseDAOImpl.java
- StudentRepositoryImpl.java
- CourseRepository. java
Учитывая «масштабируемость», архитектура моей программы в порядке? Могу ли я иметь репозиторий и DAO одновременно? Думаю, да, потому что такой подход упрощает переключение БД. Кроме того, My StudentRepositoryImpl имеет метод getAllStudents(), в котором используются два метода DAO: getAllStudents() и getCourseByStudentId(int id). Таким образом, StudentRepositoryImpl может правильно комбинировать результаты запроса обоих методов DAO для создания объектов Student (
Код: Выделить всё
StudentЯ ценю комментарии. Заранее спасибо.
Подробнее здесь: https://stackoverflow.com/questions/791 ... repository