Skip to content

EvVlF/java-oop-template

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Шаблон для практической работы по теме Object Oriented Programming

Вы проектируете приложение по работе с книгами и авторами (библиотека).

Приложение должно уметь сохранять\находить\удалять книги.
Приложение должно отдельно хранить информацию об авторах.

Вы создатите структуру приложения используя наследование и иплементацию интерфейсов.
Также вы напишите реализацию для всех методов.

  1. Создайте ветку feature и продолжите разработку в ней

  2. Сейчас существуют следующие классы:

  • Book (базовая сущность книги)
  • Schoolbook (книга для школы)
  • Author (автор книги)

Изучите их.

Добавьте в них все, что указано в их описании.

  1. Также сейчас существуют следующие интерфейсы:
  • AuthorRepository (интерфейс репозитория для авторов)
  • AuthorService (нтерфейс сервиса для авторов)
  • BookRepository (интерфейс репозитория для книг)
  • BookService (интерфейс сервиса для книг)

Что такое сервисы и репозитории:

  • Слой сервиса выполняет бизнес логику и обращается затем к репозиторию или другому сервису
  • Слой репозитория выполняет сохранение\получение\удаление данных из хранинилища

Если говорить кратко, то когда мы хотим сохранить новую книгу, мы передаем информацию о ней на слой сервиса (то есть вызываем у сервиса метод сохранения), в методе сервиса могут происходить различные проверки.

Далее если все прошло хорошо на уровен сервиса, мы вызываем у репозитория аналогичный метод сохранения, который тоже принимает информацию о книге.

А внутри репозитория уже происходит добавление книги в хранилище (в нашем случае в массив).

Изучите эти интерфейсы.

Сделайте все, что указано в их описании.

  1. Удостоверьтесь что все тесты выполняются корректно.

Тесты проверяют не только логику, но и наличие полей, их типы, методы классов, конструкторы итд.

Основной тест - "Проверка всей общей логики работы сервисов и репозиториев" последовательно производит различные манипуляции с сущностями.

Он сохраняет, удаляет, ищет, снова сохраняет и так далее. При этом, он проверяет что все происходит так, как того ожидают требования.

Например, он проверяет, что после сохранения первой книги, ее можно найти и сервис книг возвращает количество книг = 1. А после удаления данной книги, она не находится по имени и размер количества сохраненных книг стал = 0.

Вы можете пройтись по данному тесту и посмотреть какие операции он производит.

  1. Запуште все изменения на гитхаб и создайте pull-request в ветку master.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%