Архитектура проводов

В жизни есть вещи, про которые не принято говорить на
конференциях. Простые, топорные, но крайне рабочие схемы. Одна из таких схем -
это архитектура проводов (название - мое ).
Думаю вы замечали, что в любом офисе, на улице, в подъездах и еще много где скапливается огромное количество проводов. Никто не хочет разбираться нужен ли каждый конкретный провод или нет, всегда проще сверху протянуть новый. Такой принцип достаточно хорошо и долго работает, хотя выглядит это, конечно, не очень.
Аналогичный подход используется в некоторых очень важных местах программного кода, когда ключевый метод вызывается много где, но при этом все равно продолжает развиваться и сохраняет обратную совместимость. В этом случае для поддержки нового функционала добавляют новые параметры и обкладывают легаси код условиями, чтобы на старых параметрах код работал как раньше.
Такой подход я встречал в больших и страшных C++-приложениях. Такой прием за четыре года разработки Учи.ру мы использовали один раз, но со всей душой. Метод принимает 48 параметров (в виде ключей хэша, но все-таки).
Главное, при использовании архитектуры проводов, важно помнить, что в один прекрасный день придется срезать все провода и проложить их заново (кстати в случае нашего метода-рекордсмена мы как раз этим занимаемся).
Tweet