Go设计模式
观察者模式观察者模式 定义了一个Notifier和Observers之间的一对多依赖关系。当Notifier改变其状态时,所有的Observers都会被通知到Events。
这种模式可以在事件驱动的代码中使用。当代码的一部分必须对另一部分的更改做出反应时。
基本类型和接口Event
事件类型
Observer
观察者接口
Notifier
这个interface有三个方法:
Register(Observer)Unregister(Observer)Notify(Event)
通知器接口
实现具体类型ObserverObserver
观察者实现
NotifierNotifier
通知器实现
使用示例main
主函数
输出将是
# Output
➜ go-patterns go run ./behavioral/observer
observer 1 recieved event 1
observer 2 recieved event 1
observer 1 recieved event 101
observer 2 recieved event 101
observer 1 recieved event 9999
observer 2 recieved event 9999
结论
Observer Patternevent-drivenNotifier
愉快的编码!
代码示例可以在我的GitHub仓库中找到pavel-fokin/go-patterns。
本文最初发表于 https://pavelfokin.dev。