Цепочка обязанностей — это шаблон проектирования, который позволяет построить цепочку объектов-обработчиков, обрабатывающих запрос по очереди.
Рассмотрим простой пример:
«Представьте ситуацию, когда вы идете в банк и стоите в очереди. Клиент перед вами может быть обслужен кассиром, менеджером или руководителем, в зависимости от сложности его запроса. Если кассир не может справиться с запросом, он передает его менеджеру, а если и менеджер не может помочь, запрос передается руководителю»
Каждый «обработчик» (кассир, менеджер, руководитель) представляет звено в цепочке обязанностей. Клиент (запрос) передается от одного звена к другому, пока его запрос не будет обработан или цепочка не закончится.
Please open Telegram to view this post
VIEW IN TELEGRAM
В данной статье автор рассматривает библиотеки и фреймворки, которые могут быть весьма полезными для вас. Статья рассчитана на разработчиков начинающего уровня, а если вы — профессионал, посоветуйте в комментариях тот инструмент, который используете сами.
Ссылка на статью — КЛИК
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣49 30
Какова роль
equals() и hashCode() в HashMap?Ответ:
Please open Telegram to view this post
VIEW IN TELEGRAM
Javalin — это очень легкий веб-фреймворк для Kotlin и Java, который поддерживает WebSockets, HTTP2 и асинхронные запросы. Основные цели — это простота, отличный опыт разработчика и первоклассная совместимость между Kotlin и Java.
Преимущества Javalin, которые я могу выделить:
Maven:
<dependency>
<groupId>io.javalin</groupId>
<artifactId>javalin</artifactId>
<version>6.1.3</version>
</dependency>
Gradle:
implementation("io.javalin:javalin:6.1.3")Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣41 13😁7
Ответ:
Please open Telegram to view this post
VIEW IN TELEGRAM
Перечисления (Enum) в Java предоставляют разработчикам удобный инструмент для создания констант. Они не ограничиваются только этим, так как могут включать в себя конструкторы, поля, а также реализовывать интерфейсы и абстрактные методы.
Об этом всём рассказывает автор в данной статье, подкрепляя сказанное реальными примерами.
Ссылка на статью — КЛИК
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11 6
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣77 19💯2
BlockingQueue — это интерфейс, который используется для реализации очередей с блокировками.
Он позволяет безопасно работать с очередью из нескольких потоков.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10
Что значит выражение
System.out::println?Ответ:
Please open Telegram to view this post
VIEW IN TELEGRAM
❤18 7⚡1👍1
В данной статье автор рассматривает типовые способы запуска ванильного PostgreSQL в контейнере, а также проблемы и их возможные решения, с которыми может столкнуться software engineer.
Ссылка на статью — КЛИК
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣29😁6 6
Что выведет код сверху?
Anonymous Quiz
36%
datadata
22%
dataa
21%
datadatadataa
21%
Ошибка компиляции
⚡11💯4 3❤2
Poison Pill, или «ядовитая пилюля», — это шаблон, используемый для мягкой остановки потока или процесса.
Его суть заключается в отправке специального, заранее определенного сообщения, которое сигнализирует о необходимости завершения работы. Это сообщение обрабатывается в рамках нормального потока сообщений и позволяет потоку корректно завершить работу, освободить ресурсы и закрыть все активные соединения.
Принцип работы:
1. Архитектура Poison Pill включает несколько компонентов: Message, Producer, Consumer и MessageQueue.
2. Message определяет структуру сообщений. Сообщения могут включать различные заголовки и тело сообщения. Пример реализации — SimpleMessage.
3. MessageQueue объединяет точки публикации MqPublishPoint и подписки MqSubscribePoint. Он представляет собой очередь, через которую сообщения передаются от производителей к потребителям. Пример реализации — SimpleMessageQueue, использующий BlockingQueue для хранения сообщений.
4. Producer создает сообщения и помещает их в очередь. Т. е. когда производитель завершает свою работу, он отправляет сообщение Poison Pill, чтобы уведомить потребителей о необходимости остановки.
5. Consumer является потребителем и извлекает сообщения из очереди и обрабатывает их. Если потребитель получает Poison Pill, он завершает свою работу.
100
Please open Telegram to view this post
VIEW IN TELEGRAM