У меня есть очень большое монолитное унаследованное приложение, которое мне поручено разбить на множество контекстно-зависимых приложений на другой архитектуре. Мое руководство настаивает на том, чтобы старые и новые приложения работали в тандеме, пока все устаревшие функции не будут перенесены в текущую архитектуру.
К сожалению, как и в случае со многими монолитными приложениями, этот поддерживает очень большой набор данных о состоянии для каждого взаимодействия с пользователем, и его необходимо поддерживать по мере продвижения пользователя по функциональности.
У меня вопрос, каким образом я могу ответственно удовлетворить гибридную унаследованную / не унаследованную архитектуру, чтобы в будущем все новые отдельные приложения безнадежно зависели от этой модели общего состояния?
Моя первоначальная мысль - записать данные о состоянии в какой-то кэш-память, доступную как устаревшим приложениям, так и новым приложениям, чтобы они могли работать в гармонии до тех пор, пока новые приложения не будут иметь инфраструктуру, необходимую для независимой работы. Я очень скептически отношусь к этому подходу, поэтому я хотел бы получить обратную связь или новые взгляды на проблему.