🧭 Statechart и Spring State Machine: когда FSM уже недостаточно

🧭 Statechart и Spring State Machine: когда FSM уже недостаточно

В предыдущем посте мы рассмотрели классические State Machine. Посмотрели на реализацию FSM с использованием таблиц. Но что делать, когда система разрастается и появляются такие требования:

2

State Machine: когда State уже недостаточно

State Machine: когда State уже недостаточно

Паттерн State отлично подходит для управления поведением объекта в зависимости от его состояния. Но что делать, когда логика переходов между состояниями усложняется?

1

🧠 State ≠ State Machine: разбираем поведенческий паттерн, который часто путают

🧠 State ≠ State Machine: разбираем поведенческий паттерн, который часто путают

State паттерн ("Состояние") — это поведенческий паттерн проектирования, который позволяет объекту изменять своё поведение в зависимости от внутреннего состояния. Многие описывают этот паттерн в контексте паттерна State Machine ("Конечный автомат", "Машина состояний") и не рассматривают в отрыве от этой концепции. На самом деле State самостоятельный…

1

За месяц собрали команду из трех разработчиков для TextBack

За месяц собрали команду из трех разработчиков для TextBack
4

🚀 Виртуальная Стажировка Java – уникальный обучающий проект!

Хочешь пройти полный путь создания современного Java Backend приложения – от идеи до готового к развертыванию микросервиса?

Способы повторного запуска тестов

Часто в практике мы сталкиваемся с нестабильными тестами, которые хочется перезапустить несколько раз. Если после n-го количества перезапусков тест остаётся неудачным, его признают проваленным.
В этой статье я рассмотрю возможные способы повторного запуска тестов в JUnit 5, с которыми я столкнулась при поиске решений.

2

Использование ParameterResolver в JUnit 5

Если вы занимались написанием тестов, то наверняка сталкивались с ситуацией, когда в тест нужно передать какой-либо объект. JUnit 5 предоставляет механизм Extensions, который позволяет значительно расширить функциональность тестов. Одной из наиболее полезных возможностей этого механизма является ParameterResolver, который позволяет автоматически вн…

2

Аннотация @Slf4j и её роль в логировании

Если вы хотите узнать, что такое аннотация @Slf4j из Lombok, тогда эта статья для вас.

Полный доступ к JetBrains бесплатно!

Рассказываю, как бесплатно и на любой платформе получить полный доступ ко всем IDE от JetBrains!
12

Секреты кэширования объектов в Java: что скрывает оператор ==?

В процессе прохождения одного тестового задания, связанного с работой с объектами и примитивами, я наткнулась на интересный и неочевидный факт о сравнении объектов в Java. Я дала неверный ответ, и по итогу все началось с того, что я решила проверить, что будет выведено в консоль для следующих строк кода:

1

Топ-5 языков программирования, которые стоит изучить в этом году 💻✨

В постоянно развивающемся мире технологий быть на шаг впереди - значит быть в курсе последних достижений в области программирования. Независимо от того, являетесь ли вы новичком или опытным разработчиком, вот топ-5 языков программирования, которые стоит изучить в этом году: