Многие разработчики любят спорить о преимуществах и недостатках того или иного подхода к реализации верхнего слоя мобильного приложения - MVC, MVVM, VIPER. При этом зачастую уделяется недостаточно времени продумыванию логики работы с данными. Роли компонентов для получения и обновления моделей получаются непродуманными, появляется дублирование кода, сильная связность, размытая ответственность. Как следствие, усложняется понимание и последующее расширение данного слоя.
Я хочу рассказать про подход, который давно используется в server-side разработке, но позже был адаптирован к реалиям мобильных приложений. Service Oriented Architecture задает строгий каркас в части обработки данных, фиксируя ответственность компонентов. Такой подход оказывается крайне полезным как в части поддержки и рефакторинга, так и при последующем расширении приложения.
Многие разработчики любят спорить о преимуществах и недостатках того или иного подхода к реализации верхнего слоя мобильного приложения - MVC, MVVM, VIPER. При этом зачастую уделяется недостаточно времени продумыванию логики работы с данными. Роли компонентов для получения и обновления моделей получаются непродуманными, появляется дублирование кода, сильная связность, размытая ответственность. Как следствие, усложняется понимание и последующее расширение данного слоя.
Я хочу рассказать про подход, который давно используется в server-side разработке, но позже был адаптирован к реалиям мобильных приложений. Service Oriented Architecture задает строгий каркас в части обработки данных, фиксируя ответственность компонентов. Такой подход оказывается крайне полезным как в части поддержки и рефакторинга, так и при последующем расширении приложения.