- Забронировать билеты
- Проверьте расписание
- Проверьте местоположение автобуса в режиме реального времени
- Получайте уведомления, когда расписание автобуса задерживается или отменен
- Надежность (любые изменения в информации, например расписании и местоположении автобуса, должны немедленно отражаться в приложении)
- Удобство обслуживания > (для будущих улучшений и обслуживания)
Вот мое текущее решение. Поскольку это мобильное приложение, я думаю, что архитектура клиент-сервер (возможно, двухуровневая или трехуровневая) подходит для обеспечения удобства сопровождения. Однако для надежности у меня есть несколько вариантов:
Брокерская (управляемая событиями) архитектура
Это передача изменений компонентам системы. реагировать на изменения. Я не думаю, что это практично, потому что большинство примеров, которые я видел, относятся к системам, которым требуется быстрый ответ (и мой преподаватель, похоже, тоже не согласен с этой идеей).
Архитектура наблюдателя
Похоже на то, что делает Брокер, но наблюдатели отслеживают только избранных наблюдателей. Я до сих пор не уверен, чем Observer отличается от Broker.
Микросервисная архитектура
На данный момент это мой лучший выбор, поскольку он может иметь избыточные компоненты для справиться с этой работой, но судя по большей части информации, которую я видел, это в основном для систем с большим количеством API, а не для монолитных систем.
Что вы думаете? Есть ли какие-либо статьи по теме, на которые я могу сослаться?
Подробнее здесь: https://stackoverflow.com/questions/788 ... mobile-app
Мобильная версия