觀察者模式(釋出訂閱模式)
阿新 • • 發佈:2019-02-11
1.觀察者模式的背後,總的想法是在應用程式中增強鬆耦合性。
2.觀察者也被叫做訂閱者,它指向被觀察的物件,即被觀察者。當事件發生時,被觀察者就會通知觀察者。
3.觀察者的使用場合
當一個物件的改變需要同時改變其他物件,並且它不知道有多少物件需要改變的時候。
4.JS中對觀察者模式的實現是通過回撥來實現的。
5.總的來說,觀察者模式所做的工作就是解耦,讓耦合的雙方都依賴於抽象,而不是依賴於具體,從而使得各自的變化都不會影響到另一邊的變化
function show(data){
$(“body”).append(“
}
//定義一個Observable物件,其內部包含2個方法:訂閱add方法和釋出fire方法 var Observable = { callbacks:[], add:function(fn){ this.callbacks.push(fn); }, fire:function(){ this.callbacks.forEach(function(fn){ fn(); }) } } //訂閱 Observable.add(function(){ show("姚帆上") }) Observable.add(function(){ show("姚帆下") }) //釋出(釋出之後才會執行) Observable.fire();