Совсем недавно я пришел к идее, названной Шаблоном Strangler Application. Насколько я понимаю, это решение проблемы с большими устаревшими системами. Идея состоит в том, чтобы создать новое приложение вокруг старого приложения. Стоимость и риск этого будут намного меньше, чем полная перезапись системы. Медленно, со временем новое приложение будет делать все больше и больше работы и, в конечном итоге, задушить старое устаревшее приложение. В то же время разработчики приступают к работе в чистой новой системе с более высокой эффективностью и, надеюсь, производят гораздо лучший код.
Теперь, когда я работаю, мы пришли к выводу, что новые функциональные возможности, даже кажущиеся тривиальными, требуют много времени для разработки, с высоким риском взлома чего-то. Мы сидим около миллиона строк кода, с охватом unit test, возможно, 1-2%. Система представляет собой SOA-систему, использующую веб-службы (на самом деле это не так) и более процедурная по стилю, чем объектно-ориентированная. Система - это как веб, так и выигрыш, все написанные на языках программирования .net.
Наконец, вопрос: Рассматривая эту новую идею/образец, я хочу знать, имел ли кто-нибудь опыт использования этого шаблона, который они хотели бы разделить. Например, что было бы хорошим способом его реализации (например, подключение к событиям из старого приложения)? Кроме того, если у кого-нибудь есть мысли по этому вопросу, почему это будет хорошая или плохая идея, это тоже будет оценено.
Литература: