Решил разобрать этот паттерн, потому что был удивлен, что его мало кто знает. Хотя он встречается в 99% проектах.
Паттерн Interceptor (Перехватчик) — это паттерн, который помогает добавить доп. обработку к вызовам методов — до или после их выполнения, не меняя сам код этих методов. В Swift он особенно полезен, когда нужно добавить функции логирования или авторизации.
Добавим аналогии для понимания.
Допустим, мы идем в офис на работу. По пути нас "перехватывают" несколько служб: 🌟Охрана на входе проверяет твой пропуск 🌟Регистратор логирует твой вход 🌟Металлодетектор проверяет запрещенку 🌟Гардеробщик берет твою одежду
Теперь вернемся в реальную практику. Когда ты делаешь сетевые запросы к API, почти всегда нужен токен авторизации. В простом случае ты добавляешь токен вручную в каждый запрос.
Но если таких запросов десятки, это становится неудобно и неудобно поддерживать. Здесь на помощь приходит Interceptor.
Решил разобрать этот паттерн, потому что был удивлен, что его мало кто знает. Хотя он встречается в 99% проектах.
Паттерн Interceptor (Перехватчик) — это паттерн, который помогает добавить доп. обработку к вызовам методов — до или после их выполнения, не меняя сам код этих методов. В Swift он особенно полезен, когда нужно добавить функции логирования или авторизации.
Добавим аналогии для понимания.
Допустим, мы идем в офис на работу. По пути нас "перехватывают" несколько служб: 🌟Охрана на входе проверяет твой пропуск 🌟Регистратор логирует твой вход 🌟Металлодетектор проверяет запрещенку 🌟Гардеробщик берет твою одежду
Теперь вернемся в реальную практику. Когда ты делаешь сетевые запросы к API, почти всегда нужен токен авторизации. В простом случае ты добавляешь токен вручную в каждый запрос.
Но если таких запросов десятки, это становится неудобно и неудобно поддерживать. Здесь на помощь приходит Interceptor.
But Kliuchnikov, the Ukranian now in France, said he will use Signal or WhatsApp for sensitive conversations, but questions around privacy on Telegram do not give him pause when it comes to sharing information about the war. As such, the SC would like to remind investors to always exercise caution when evaluating investment opportunities, especially those promising unrealistically high returns with little or no risk. Investors should also never deposit money into someone’s personal bank account if instructed. The regulator said it has been undertaking several campaigns to educate the investors to be vigilant while taking investment decisions based on stock tips. On February 27th, Durov posted that Channels were becoming a source of unverified information and that the company lacks the ability to check on their veracity. He urged users to be mistrustful of the things shared on Channels, and initially threatened to block the feature in the countries involved for the length of the war, saying that he didn’t want Telegram to be used to aggravate conflict or incite ethnic hatred. He did, however, walk back this plan when it became clear that they had also become a vital communications tool for Ukrainian officials and citizens to help coordinate their resistance and evacuations. It is unclear who runs the account, although Russia's official Ministry of Foreign Affairs Twitter account promoted the Telegram channel on Saturday and claimed it was operated by "a group of experts & journalists."
from us