情况如下,我正在构建一个 SDK,以便向客户通知三种不同的触摸状态:
触摸物体
触摸外部的物体
触摸对象退出
我尝试使用观察者设计模式,其中可观察者将更新发送给所有作为客户的观察者。但也存在一些问题。
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 时需要声明一个名为 Customer1 的类文件和扩展的 Observer。
有没有办法简化让客户注册为我们 SDK 的 Observable 观察者的过程?我不确定要实现什么样的抽象。
最佳答案
Pub/Sub 也是另一种选择。发布事件和其他区域的代码可以订阅/监听它们,并使用react或响应。
关于java - 我应该使用哪种设计模式来通知更改? Java/Kotlin 安卓,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56829025/