在这种情况下,我正在构建一个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的观察者的过程?我不确定要实现哪种抽象。
答案 0 :(得分:0)
Pub / Sub也是另一种选择。发布事件和其他代码区域可以订阅/收听它们,并做出反应或响应。