Rambler.iOS #8: Сервис-ориентированная архитектура
ฝัง
- เผยแพร่เมื่อ 17 ก.ย. 2024
- Rambler.iOS #8: Сервис-ориентированная архитектура (Стас Цыганов).
Аннотация
Многие разработчики любят спорить о празных подходах к реализации верхнего слоя мобильного приложения - MVC, MVVM, VIPER. При этом зачастую уделяется недостаточно времени продумыванию логики работы с данными. Как следствие, усложняется понимание и последующее расширение данного слоя.
Стас Цыганов расскажет про подход, который давно используется в server-side разработке, но позже был адаптирован к реалиям мобильных приложений. Service Oriented Architecture задает строгий каркас в части обработки данных, фиксируя ответственность компонентов. Такой подход оказывается крайне полезным как в части поддержки и рефакторинга, так и при последующем расширении приложения.
Слайды: www.slideshare....
Подробней: github.com/ram....
Rambler.iOS - митапы iOS-разработчиков, организуемые компанией RAMBLER&Co.
В видео используется композиция Gorgon от Jesse Spillane, распространяемая по лицензии Creative Commons Attribution-NonCommercial License (creativecommon....
Столько лет прошло и все ещё актуальная инфа)
Если возможно сделайте example project на гитхаб с банальным примером авторизации, но с Core Components. Не обезательно чтобы вот прям сохраняло в БД, работало на реальном API, но пример интерфейсов и взаемодийствия очень интересны.
Спасибо
Интересный доклад!
Было бы интересно глянуть на тестовый проект или пример кода. Cпасибо :)
github.com/rambler-digital-solutions/rambler-it-ios
Про плюсы рассказали, а минусы?
Пример приложения можно посмотреть вот здесь: github.com/rambler-digital-solutions/rambler-it-ios
Еще вопрос: если сервисы не должны содержать состояния, то почему не реализуете как методы класов (статические), а создаете обьекты под конкретный сервис?
Это вопрос явных зависимостей и тестируемости.
как я понял viper пришел из clean architecture. но когда я открыл рамблеровский пример из книги о вайпер, правильно ли я понял что интерактор прямо зависит от коре даты? th-cam.com/video/Nsjsiz2A9mg/w-d-xo.html
Вайпер - это лишь один из способов организации верхнего слоя в SOA. Там по сути нет ничего кроме обработки пользовательского ввода и отрисовки данных. Все сетевые запросы, работа с базой, все это находится ниже внутри сервисов.