Какой шаблон проектирования я должен использовать для уведомления об изменениях?Java / Kotlin Android - PullRequest
1 голос
/ 01 июля 2019

Вот ситуация, я создаю SDK для клиентов, которые будут уведомлены о трех различных состояниях касания:

  1. Объект Touched

  2. ОбъектКасание снаружи

  3. Выход объекта касанием

Я пытался использовать шаблон проектирования наблюдателя, где наблюдаемый объект отправляет обновления всем наблюдателям, которые являются клиентами,однако есть несколько проблем.

https://stonesoupprogramming.com/2017/10/28/observer-pattern-in-kotlin/

Следуя этому руководству по проектированию, обратите внимание, что для того, чтобы клиенты могли подписаться, им нужно будет написать следующее:

val bob = Bob()
bob.addObserver(Customer1())



 class Customer1: Observer{

    val name = "Customer1"

    override fun update(o: Observable?, arg: Any?) {
      // Do your logic here
    }
}

Это означает, что клиент, когда он интегрирует SDK, должен объявить файл Class с именем Customer1 с расширенным Observer.

Есть ли способ упростить процесс регистрации клиентов в качестве наблюдателя для нашего SDK Observable?Я не уверен, какую абстракцию реализовать.

1 Ответ

0 голосов
/ 01 июля 2019

Pub / Sub - это еще один вариант.Опубликовать события и другие области кода можно подписаться / прослушать их, а также реагировать или отвечать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...