Для чего нужны Middleware?
Сейчас пытаюсь разобраться в разработке телеграмм ботов и дошёл до такой темы, как middleware и не особо понимаю для чего они нужны. В оф. документации библиотеки aiogram по этой теме есть пример, в котором реализован анти-спам. Но тогда вопрос вот в чём, почему бы это не реализовать напрямую в функции? И я часто видел в примерах, как многие проверки проводятся именно в middleware. Для чего необходимо проводить проверки именно там? И для чего собственно вообще нужны middleware? Не обязательно для телеграмм ботов, мне бы хотя бы абстрактно понять что это такое и для чего.
Источник: Stack Overflow на русском