Skip to content

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ExamWork2

Практична частина іспиту з дисципліни Advanced Java

Варіант: V39 (D7 + R2 + M1)

Тривалість: 60 хвилин. Формат: індивідуально, автономно.

Що потрібно зробити: реалізувати бібліотеку з API та тестами відповідно до опису нижче.

Обов’язкові технічні вимоги:

Java 17, Maven, JUnit. Лише core Java; Spring Boot, БД, Docker, веб-інтерфейс не вимагаються. Сторонні бібліотеки дозволені, але не є обов’язковими. У відповіді Moodle треба вказати лише URL репозиторію. Спільні вимоги до реалізації:

Щонайменше 3-4 доменні сутності та 2 сервіси. Щонайменше 1 власний generic-інтерфейс або generic-клас у публічному API. Доречне використання колекцій, lambdas і Stream API у реальних сценаріях. Інкапсуляція, коректна модель домену, композиція, доречні абстракції, SOLID. Коректні equals()/hashCode()/toString() там, де це виправдано. Optional у публічному API там, де це доречно. Базовий доменний виняток, спеціалізовані винятки, INFO/WARN/ERROR логування. Мінімум 10 тестів, з них мінімум 1 параметризований і 5 негативних. Домен D7: Оренда транспорту

Спроєктуйте бібліотеку для керування транспортом, клієнтами та договорами оренди.

Vehicle, Customer, Rental, VehicleCategory/RatePlan не менше двох сервісів, наприклад RentalService і FleetService API для оформлення оренди, повернення, скасування, пошуку та аналітики використання транспорту щонайменше 3-4 доменні сутності та 2 сервіси щонайменше один власний generic-інтерфейс або generic-клас у публічному API використання колекцій та Stream API для пошуку, фільтрації, сортування й агрегування оренд Пакет правил R2: Обмеження ресурсів і пріоритети

Додайте правило обмеження місткості, ліміту або унікальності для ключового ресурсу домену. Введіть категорію, пріоритет або тариф, який впливає на бізнес-логіку основної операції. Передбачте щонайменше 1 спеціалізований виняток для порушення ліміту, дублювання або конфлікту ресурсу. Реалізуйте щонайменше 1 Stream-запит з групуванням або агрегуванням за категорією, власником, статусом чи іншим релевантним полем. Режим взаємодії M1: Файловий режим

Додайте до бібліотеки окремий компонент для зчитування вхідних даних з файлу та запису результатів у файл. Формат файлів не фіксується: можна використати будь-який текстовий або структурований формат, який ви коректно обробляєте засобами Java. Компонент файлової взаємодії має бути тестованим через JUnit без ручного запуску застосунку. Обмеження на початкову заготовку: дозволена лише власна технічна заготовка Maven/JUnit/структури каталогів без будь-якої наперед реалізованої бізнес-логіки.

Що вписати у відповідь Moodle: URL репозиторію.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages