модель цепочки ответственности (Шаблон цепочки ответственности) — это шаблон поведенческого проектирования. Определение следующее:
Избегайте связывания отправителя и получателя запроса и дайте возможность нескольким объектам обработать запрос.
Соедините объекты, получающие запрос, в цепочку и передайте запрос по этой цепочке до тех пор, пока объект не сможет его обработать.
2. Роль модели цепочки ответственности
Разделите запросы и их обработку, чтобы улучшить масштабируемость кода.
3. Структура модели цепочки ответственности
Модель цепочки ответственности в основном включает в себя следующие роли:
Роль абстрактного обработчика: Определить интерфейс для обработки запросов, включая абстрактные методы обработки и последующее соединение (каждый обработчик в цепочке имеет переменную-член для сохранения ссылки на следующий обработчик).
Роль бетонщика: реализовать метод обработки абстрактного процессора, чтобы определить, может ли запрос быть обработан. Если запрос может быть обработан, обработайте его, иначе запрос будет передан его преемнику.
Роль клиента: Создайте цепочку обработки и отправьте запрос конкретному объекту-обработчику в начале цепочки. Детали обработки и процесс доставки запроса не важны.
В реальной разработке модель цепочки ответственности может добавлять менеджера цепочки ответственности для управления конкретными процессорами.
4. Применение модели цепочки ответственности в реальной разработке
В SpringBoot существует множество способов реализовать шаблон цепочки ответственности. Ниже приведен пример: множественная независимая логика проверки для процесса заказа.
4.1 Способ реализации 1
Создать Pojo, объект заказа
publicclassOrderContext{privateString seqId;privateString userId;privateLong skuId;privateInteger amount;privateString userAddressId;// Getters and setters}