国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

設計模式——觀察者模式

wzyplus / 2432人閱讀

摘要:觀察者模式顧名思義,有觀察者被觀察者,這兩是有關系的被觀察者狀態改變時,觸發觀察者的動作被觀察者默認狀態用來存儲所有的觀察者知道誰在觀察自己存儲主動觀察者被觀察者狀態只要狀態改變就通知所有的觀察者,孩子餓了就會朝著爸媽哭定義觀察者觀察者被觀

觀察者模式

顧名思義,有觀察者 被觀察者, 這兩是有關系的

被觀察者狀態改變時,觸發觀察者的 動作

// 被觀察者
function Observer(){
    this.state = "默認狀態";
    this.arr = [];// 用來存儲所有的觀察者
}
// 知道誰在 觀察自己
Observer.prototype.attch = function(s){
    // 存儲主動觀察者
    this.arr.push(s);
}
// 被觀察者狀態
Observer.prototype.setState = function(newState){
    this.state = newState;
    // 只要狀態改變就通知所有的觀察者,孩子餓了就會朝著爸媽哭
    this.arr.forEach(s=>s.update(newState))
}

// 定義觀察者
/**
* name: 觀察者
* target: 被觀察者
**/ 
function Subject(name,target){
    this.name = name;
    this.target = target;
}
// 得到狀態后的反應
Subject.prototype.update = function(newState){
    console.log(this.name + "觀察到狀態" + newState);
}

let o = new Observer();
let s1 = new Subject("父親",o);
let s2 = new Subject("母親",o);
o.attch(s1);
o.attch(s2);
o.setState("餓了");

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/102312.html

相關文章

  • 設計模式察者設計模式

    摘要:關鍵概念理解觀察者設計模式中主要區分兩個概念觀察者指觀察者對象,也就是消息的訂閱者被觀察者指要觀察的目標對象,也就是消息的發布者。 原文首發于微信公眾號:jzman-blog,歡迎關注交流! 最近補一下設計模式相關的知識,關于觀察者設計模式主要從以下幾個方面來學習,具體如下: 什么是觀察者設計模式 關鍵概念理解 通知觀察者的方式 觀察者模式的實現 觀察者模式的優缺點 使用場景 下面...

    NotFound 評論0 收藏0
  • 設計模式察者模式與發布訂閱模式

    摘要:觀察者模式與發布訂閱的區別在模式中,知道,同時還保留了的記錄。發布者訂閱者在大多情況下是異步方式使用消息隊列。圖片源于網絡侵權必刪如果以結構來分辨模式,發布訂閱模式相比觀察者模式多了一個中間件訂閱器,所以發布訂閱模式是不同于觀察者模式的。 學習了一段時間設計模式,當學到觀察者模式和發布訂閱模式的時候遇到了很大的問題,這兩個模式有點類似,有點傻傻分不清楚,博客起因如此,開始對觀察者和發布...

    BaronZhang 評論0 收藏0
  • 設計模式 -- 察者模式

    摘要:總結一下從表面上看觀察者模式里,只有兩個角色觀察者被觀察者而發布訂閱模式,卻不僅僅只有發布者和訂閱者兩個角色,還有第三個角色經紀人存在。參考鏈接觀察者模式發布訂閱模式 做了這么長時間的 菜鳥程序員 ,我好像還沒有寫過一篇關于設計模式的博客...咳咳...意外,純屬意外。所以,我決定,從這一刻起,我要把設計模式在從頭學習一遍,不然都對不起我這 菜鳥 的身份。那這次,就從觀察者模式開始好啦...

    chengtao1633 評論0 收藏0
  • 設計模式 -- 察者模式

    摘要:總結一下從表面上看觀察者模式里,只有兩個角色觀察者被觀察者而發布訂閱模式,卻不僅僅只有發布者和訂閱者兩個角色,還有第三個角色經紀人存在。參考鏈接觀察者模式發布訂閱模式 做了這么長時間的 菜鳥程序員 ,我好像還沒有寫過一篇關于設計模式的博客...咳咳...意外,純屬意外。所以,我決定,從這一刻起,我要把設計模式在從頭學習一遍,不然都對不起我這 菜鳥 的身份。那這次,就從觀察者模式開始好啦...

    makeFoxPlay 評論0 收藏0
  • 訂閱發布模式察者模式的區別

    摘要:或許以前認為訂閱發布模式是觀察者模式的一種別稱,但是發展至今,概念已經有了不少區別。參考文章訂閱發布模式和觀察者模式真的不一樣 首選我們需要先了解兩者的定義和實現的方式,才能更好的區分兩者的不同點。 或許以前認為訂閱發布模式是觀察者模式的一種別稱,但是發展至今,概念已經有了不少區別。 訂閱發布模式 在軟件架構中,發布-訂閱是一種消息范式,消息的發送者(稱為發布者)不會將消息直接發送給特...

    ysl_unh 評論0 收藏0
  • 設計模式-察者模式

    摘要:觀察者模式又稱發布訂閱模式,模型視圖模式,源監聽器模式模式或者從屬者模式。第一方法被調用之后會設置一個內部標記變量,代表被觀察者對象的狀態發生了變化。代碼地址觀察者模式代碼自己實現的觀察者模式利用提供的有關觀察者模式的 概念 定義了對象之間的一對多依賴,當一個對象狀態改變時,它的所有依賴者都會收到通知并自動更新。觀察者模式又稱發布(Publish/Subscribe)訂閱模式,模型視圖...

    Developer 評論0 收藏0

發表評論

0條評論

wzyplus

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<