Универсальная обёртка для API-ответов
Дженерики позволяют возвращать типобезопасные и переиспользуемые форматы ответов. Вот как создать обобщённую обёртку
👉 Java Portal
Дженерики позволяют возвращать типобезопасные и переиспользуемые форматы ответов. Вот как создать обобщённую обёртку
ApiResponse<T>
для любого payload-а API.Please open Telegram to view this post
VIEW IN TELEGRAM
Разница между ассоциацией, агрегацией и композицией в Java
Определение
↳ Ассоциация: Общее отношение между двумя объектами
↳ Агрегация: Отношение «имеет», при котором дочерний объект может существовать независимо
↳ Композиция: Отношение «часть», при котором дочерний объект не может существовать без родительского
Тип
↳ Ассоциация: Слабо связанное отношение
↳ Агрегация: Ослабленная форма ассоциации (частный случай ассоциации)
↳ Композиция: Усиленная форма ассоциации
Зависимость
↳ Ассоциация: Объекты независимы
↳ Агрегация: Дочерний объект может пережить родительский
↳ Композиция: Жизненный цикл дочернего объекта зависит от родительского
Владение
↳ Ассоциация: Отсутствует владение
↳ Агрегация: Разделённое владение
↳ Композиция: Исключительное владение
Жизненный цикл
↳ Ассоциация: У обоих объектов собственный жизненный цикл
↳ Агрегация: Родитель и потомок могут иметь разные жизненные циклы
↳ Композиция: Жизненный цикл дочернего объекта строго привязан к родительскому
Пример из реальной жизни
↳ Ассоциация: Студент <—> Университет (могут существовать независимо)
↳ Агрегация: Кафедра <—> Университет (могут существовать раздельно)
↳ Композиция: Сердце <—> Человек (не может существовать без человека)
Пример в Java
↳ Ассоциация: Класс A содержит ссылку на класс B
↳ Агрегация: Класс School содержит список объектов Student
↳ Композиция: Класс House содержит объекты Room (при удалении House удаляются и Room)
👉 Java Portal
Определение
↳ Ассоциация: Общее отношение между двумя объектами
↳ Агрегация: Отношение «имеет», при котором дочерний объект может существовать независимо
↳ Композиция: Отношение «часть», при котором дочерний объект не может существовать без родительского
Тип
↳ Ассоциация: Слабо связанное отношение
↳ Агрегация: Ослабленная форма ассоциации (частный случай ассоциации)
↳ Композиция: Усиленная форма ассоциации
Зависимость
↳ Ассоциация: Объекты независимы
↳ Агрегация: Дочерний объект может пережить родительский
↳ Композиция: Жизненный цикл дочернего объекта зависит от родительского
Владение
↳ Ассоциация: Отсутствует владение
↳ Агрегация: Разделённое владение
↳ Композиция: Исключительное владение
Жизненный цикл
↳ Ассоциация: У обоих объектов собственный жизненный цикл
↳ Агрегация: Родитель и потомок могут иметь разные жизненные циклы
↳ Композиция: Жизненный цикл дочернего объекта строго привязан к родительскому
Пример из реальной жизни
↳ Ассоциация: Студент <—> Университет (могут существовать независимо)
↳ Агрегация: Кафедра <—> Университет (могут существовать раздельно)
↳ Композиция: Сердце <—> Человек (не может существовать без человека)
Пример в Java
↳ Ассоциация: Класс A содержит ссылку на класс B
↳ Агрегация: Класс School содержит список объектов Student
↳ Композиция: Класс House содержит объекты Room (при удалении House удаляются и Room)
Please open Telegram to view this post
VIEW IN TELEGRAM
Пример выше демонстрирует, как с помощью дженериков можно создать типобезопасный и переиспользуемый процессор данных, который работает с коллекциями объектов, в данном случае, с сотрудниками (Employee).
Основные моменты:
>
>
> В
Вывод программы:
👉 Java Portal
Основные моменты:
>
DataProcessor<T>
— обобщённый класс, хранящий список элементов типа T
и предоставляющий метод getMax
(...), который возвращает максимум по заданному компаратору.>
Employee
реализует Comparable<Employee>
и переопределяет метод compareTo, чтобы сравнивать сотрудников по зарплате.> В
main()
создаются объекты сотрудников и добавляются в DataProcessor<Employee>
, после чего находится сотрудник с максимальной зарплатой.Вывод программы:
Highest paid: Bob ($75000.0)
Please open Telegram to view this post
VIEW IN TELEGRAM
Защита вашего приложения с помощью Spring Security и OAuth2 Login.
Публичный доступ разрешён к
Полное руководство читайте здесь: тык
👉 Java Portal
Публичный доступ разрешён к
/
и /login
, все остальные эндпоинты требуют аутентификации.Полное руководство читайте здесь: тык
Please open Telegram to view this post
VIEW IN TELEGRAM