2013-03-22 4 views
2

Я реализую простое настольное приложение, которое разделено на 3 слоя: UI -> service/domain -> repository.Схема посредника для обмена сообщениями между уровнями

Я думал об использовании класса Mediator, так что слой UI может быть уведомлен о прогрессе других классов в других слоях, но и другие классы не связаны с интерфейсом

.e.g. есть операция с продуктом покупки. Я хочу, чтобы пользовательский интерфейс мог отображать подробные сведения о ходе покупки продукта .i.e. он может печатать на экране прогресс: - Обращение в платежный шлюз - Закончите платеж - инвентарь обновления и т.д.

Является ли это приемлемым решением? Или любое другое предложение?

Большое спасибо

ответ

1

Да, я использовал медиатор прежде для этого типа вещь, специально используя EventBus гуавы в качестве посредника.

В моем текущем проекте я использую упрощенный Observer: интерфейс Observer имеет один метод signal() (без параметров). В каждом цикле событий обновляемые сигнальные компоненты обновляются.

+0

большое спасибо, я также нашел статью об использовании медиатора для связи в MVVM (http://www.codeproject.com/Articles/35277/MVVM-Mediator-Pattern). Я продолжу эту реализацию –

Смежные вопросы