使用观察者模式进行订单管理
概念:观察者模式是由发送者和观察者构成,发送者在状态改变时,主动通知所有的观察者做相应的刷新。
观察者模式定义了对象之间一对多的依赖关系,以便一个对象状态发生改变时,所有依赖于它的对象都能够得到通知,并自动刷新。
/**
* author: Alan on 2017/12/14 15:34
* address: xk6321@gmail.com
* description: 订单管理观察者 用户对订单做了操作后,通知所有注册观察者的对象作相应的改变
*/
class OrderManageObserver {
companion object {
var list: MutableList<OrderManageListener>? = null
var instance: OrderManageObserver? = null
get() {
if (field == null) {
// 使用双重锁方式实现单例,保持只有一个实例
synchronized(OrderManageObserver::class.java) {
if (field == null){
list = ArrayList()
field = OrderManageObserver()
}
}
}
return field