Комментарии 13
Опасная штука, как по мне, неявный код, рефлексия, генерация, это сложно и зачастую в бизнес-логике совсем не нужно, при неумелом применении генерирует тонны технического долга, так как добавляет несколько слоев неявных зависимостей. За 15 лет даже не могу вспомнить ситуацию, когда бы такое пригодилось.
Выглядит как аспектно-ориентированное программирование, что тот, что этот подходы отвратительны, так как это совершенно неявно, при любом рефакторинге, код написанный в интерсепторах попросту забудут. При возникновении ошибки сложно искать место возникновения, стектрейс превращается в кашу
На костыль какой то похоже.
Из определения в начале совершенно непонятно, откуда взялось слово реверсивный. Как прямой, так и реверсивный проси могут делать что угодно перед отправлением запроса к реальному серверу, включая и не отправление вовсе. Так, что начало статьи лучше бы поправить. Не в динамике отличие обратного проски от классического.
Из статьи не очень понятно как собственно этот поход поможет подменить логику работы без остановки системы о чем заявлено в плюсах реализации? Как поменять Deluxe на SuperPremium на лету?
"Жаль нет ружья..."
Статья совершенно бесполезная. Использование рефлексии это как копание могилы палочкой от мороженого. По факту перемудренный switch. Что там динамического ? Я уж потирал руки, наконец то нашел решение для ветвистой бизнес логики, но которая должна идти по определённым шагам... А в итоге пустота.
Очень странный паттерн. Словосочетание "reverse proxy" обычно используют для обозначения proxy сервера, который перенаправляет запросы из интернета на поднятый на локальном порту сервис. И гуглится именно это. Паттерн proxy, о котором я слышал, и который есть в списке известных и общепринятых паттернов, он вообще о другом. Получается, вы этот паттерн выдумали, при этом название крайне неудачное.
Вы описываете проблему, что при обновлении системы приходится останавливать сервер и вносить изменения во все компоненты системы. Данный паттерн в том виде, в котором вы его описали, данную проблему не решает.
Вообще, можно уйти в сторону микросервисов, чтобы обновлять их постепенно, не останавливая работу всего приложения. Или, что есть ещё лучше вариант, мы поднимает второй сервер со следующей версией приложения и постепенно балансировщиком перекидываем пользователей на новый сервер, потом выключаем сервак со старой версией. И не надо внедрять изуверскией паттерны, которые переусложняют логику на ровном месте.
Статья ни о чём, написана ради рекламы компании и её открытых уроков.
А на Хабре все статьи, написанные от имени компаний - чистое SEO. В этом можно убедиться, посмотрев в статистике количество постов и количество комментариев. Зачастую на 500+ постов комментариев вообще нет. Ну и статьи, похоже, пишутся под именем какого-нибудь тимлида или даже CEO, а по стилю видно, что джун писал.
Реверсивный Proxy в C#