看了觀察者模式之后的一點(diǎn)想法和筆記慎王,如果本人認(rèn)知有什么錯(cuò)誤,路過(guò)的大神給指點(diǎn)一下。(部分內(nèi)容摘自《Head First設(shè)計(jì)模式》)
定義:
- 定義了對(duì)象之間的一對(duì)多依賴,當(dāng)一個(gè)對(duì)象改變狀態(tài)時(shí)耍贾,它的所有依賴者都會(huì)收到通知并自動(dòng)更新。
形象的例子:
- 用戶向報(bào)社訂閱報(bào)紙路幸。當(dāng)報(bào)紙有更新時(shí)荐开,報(bào)社會(huì)將報(bào)紙發(fā)到每一個(gè)訂閱者家里。
- 某網(wǎng)站有三個(gè)板塊依賴于scope對(duì)象简肴,當(dāng)scope對(duì)象更新時(shí)晃听,該三個(gè)板塊同時(shí)需要更新
- 。着帽。。
具體例子
UML類圖
氣象站關(guān)系類圖
- 大概的關(guān)系就是這個(gè)樣子的移层。
- 該示例中的代碼跟《head first》一書中略有不同仍翰。我自己寫了個(gè)getWeather類從網(wǎng)上的接口中獲取JSON格式的天氣信息。
- 寫完發(fā)現(xiàn)自己的命名有毒
- 書中提到用一個(gè)新的類實(shí)現(xiàn)displayEle接口观话,就能將view分離開來(lái)予借,想到什么了?MVC频蛔!等我看到那部分再寫簡(jiǎn)書灵迫。