在現實世界中,許多對象並非獨立存在的,其中一個對象的行爲發生改變可能會致使一個或者多個其餘對象的行爲也發生改變。html
例如,某種商品的物價上漲時會致使部分商家高興,而消費者傷心;spa
這樣的例子還有不少,例如小偷與警察,貓和老鼠等.net
觀察者模式就如一個聊天室,當你須要收到聊天室的消息時,你就註冊成爲聊天室的成員,當聊天室有信息更新時,就會傳到你那去。當你不須要接收聊天室的信息時,能夠註銷掉,退出聊天室。3d
觀察者(Observer)模式的定義:指多個對象間存在一對多的依賴關係,當一個對象的狀態發生改變時,全部依賴於它的對象都獲得通知並被自動更新。這種模式有時又稱做發佈-訂閱模式、模型-視圖模式,它是對象行爲型模式。server
經過前面的分析與應用實例可知觀察者模式適合如下幾種情形。htm
參考對象
http://c.biancheng.net/view/1390.htmlblog
https://baike.baidu.com/item/%E8%A7%82%E5%AF%9F%E8%80%85%E6%A8%A1%E5%BC%8F/5881786?fr=aladdinit
https://blog.csdn.net/u014453898/article/details/79167927效率