Java Portal | Программирование
11.8K subscribers
889 photos
67 videos
31 files
715 links
Присоединяйтесь к нашему каналу и погрузитесь в мир для Java-разработчика

Связь: @devmangx

РКН: https://clck.ru/3H4WUg
加入频道
Универсальная обёртка для API-ответов

Дженерики позволяют возвращать типобезопасные и переиспользуемые форматы ответов. Вот как создать обобщённую обёртку ApiResponse<T> для любого payload-а API.

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
Разница между ассоциацией, агрегацией и композицией в Java

Определение

↳ Ассоциация: Общее отношение между двумя объектами

↳ Агрегация: Отношение «имеет», при котором дочерний объект может существовать независимо

↳ Композиция: Отношение «часть», при котором дочерний объект не может существовать без родительского

Тип

↳ Ассоциация: Слабо связанное отношение

↳ Агрегация: Ослабленная форма ассоциации (частный случай ассоциации)

↳ Композиция: Усиленная форма ассоциации

Зависимость

↳ Ассоциация: Объекты независимы

↳ Агрегация: Дочерний объект может пережить родительский

↳ Композиция: Жизненный цикл дочернего объекта зависит от родительского

Владение

↳ Ассоциация: Отсутствует владение

↳ Агрегация: Разделённое владение

↳ Композиция: Исключительное владение

Жизненный цикл

↳ Ассоциация: У обоих объектов собственный жизненный цикл

↳ Агрегация: Родитель и потомок могут иметь разные жизненные циклы

↳ Композиция: Жизненный цикл дочернего объекта строго привязан к родительскому

Пример из реальной жизни

↳ Ассоциация: Студент <—> Университет (могут существовать независимо)

↳ Агрегация: Кафедра <—> Университет (могут существовать раздельно)

↳ Композиция: Сердце <—> Человек (не может существовать без человека)

Пример в Java

↳ Ассоциация: Класс A содержит ссылку на класс B

↳ Агрегация: Класс School содержит список объектов Student

↳ Композиция: Класс House содержит объекты Room (при удалении House удаляются и Room)

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
Пример выше демонстрирует, как с помощью дженериков можно создать типобезопасный и переиспользуемый процессор данных, который работает с коллекциями объектов, в данном случае, с сотрудниками (Employee).

Основные моменты:

> DataProcessor<T> — обобщённый класс, хранящий список элементов типа T и предоставляющий метод getMax(...), который возвращает максимум по заданному компаратору.
> Employee реализует Comparable<Employee> и переопределяет метод compareTo, чтобы сравнивать сотрудников по зарплате.
> В main() создаются объекты сотрудников и добавляются в DataProcessor<Employee>, после чего находится сотрудник с максимальной зарплатой.

Вывод программы:

Highest paid: Bob ($75000.0)


👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
Защита вашего приложения с помощью Spring Security и OAuth2 Login.

Публичный доступ разрешён к / и /login, все остальные эндпоинты требуют аутентификации.

Полное руководство читайте здесь: тык

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM