Вот ситуация, я создаю SDK для клиентов, которые будут уведомлены о трех различных состояниях касания:
Объект Touched
ОбъектКасание снаружи
Выход объекта касанием
Я пытался использовать шаблон проектирования наблюдателя, где наблюдаемый объект отправляет обновления всем наблюдателям, которые являются клиентами,однако есть несколько проблем.
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?Я не уверен, какую абстракцию реализовать.