Предохранительный уровень (anticorruption layer)

Предохранительный уровень (anticorruption layer)

Губин Алексей


Я хочу выделить всего три понятия из книги:

 - adapter - по сути преобразовывает вызовы из одного формата в другой. Представьте что вас есть система, которая долгое время завязывалась на какой-то модуль и он довольно прочно вплелся в нее. Тогда нам необходимо сохранить старый формат вызовов, чтобы быстрее выкатить обновление и позднее, постепенно переходить к новому формату. Система все еще думает, что она общается со старым модулем

 - translator - объект, который преобразовывает данные в понятные для другой части системы/контекста. Это может быть extension на какой-нибудь entity, это может быть просто хелпер-функция или целый класс, если логика действительно сложная

 - facade - «стена» перед модулем системы, с которой мы интегрируемся. Знает что вызвать и в какой последовательности, инкапсулирует логику, необходимую для нашей системы, чтобы не делать лишних связей.


Мне приходилось видеть ситуацию, которая требовала применения всех трех компонентов предохранительного уровня. Интересно, что я применил это еще до того как дочитал, однако рад, что эта идея раскрывается в книге и подводится какой-то итог.


До того как я это читал, основывался на книге банды четырех про паттерны и своем опыте в веб-разработке. В фреймворке laravel на php использовался подход фасадов, они скрывали за собой сложную логику компонентов фреймворка, мне показалось это хорошей идеей. Сейчас я уже не уверен. Может быть есть другие способы снижения сложности системы?


Канал про технологии - @Gubin_dev

Report Page