我們要分析設計模式而不是學習設計模式一

2021-07-22 02:48:43 字數 795 閱讀 4910

查詢搜尋一下觀察者模式我的第一感覺是完全記不住。好難。那怎麼辦?
其實我們不要用學習的眼光,而用分析的眼光來看問題就不一樣了。

什麼是觀察模式,其實看看他的 例圖就可以分析出來了。

觀察者模式: 觀察者–被觀察者 只有這個兩個角色-> 設計原則職責分離。

1、被觀察者要持有多個觀察者、這個樣就要用聚合來進行管理了。

2、觀察這個要知道被觀察物件傳送了什麼事情。

我說的上面的兩個問題,其實就是 兩個角色分開了怎樣進行通訊的問題。那具體到類上面。我們就要用到上篇文章的分析了,具體要用那種物件關係。下面是在設計的時候要考慮的問題。

1、兩個職責是一對一,多對多,一對多,多對一。

2、我們應該是讓兩個職責的抽象還是例項產生資訊通訊。

首先 、 肯定是 乙個被觀察者對應多個觀察這個。那麼應該是乙個聚合的關係類圖。這樣應該是被觀察者持有了觀察者。所以可以對觀察者進行管理了。但是觀察者目前無法知道被觀察者的一舉一動。只能任其擺布。所以觀察者要持有被觀察者才能知道被觀察者的詳細細節。才能進行相應的行為操作。說白了就是要在物件上持有被觀察者還是在方法上傳遞被觀察者。

以上考慮完了就是乙個觀察者模式了。

我在接觸這個模式的時候,腦子是一片漿糊。這個模式再說啥了。其實,後來想想無非是不知道這個模式是幹嘛的。他具體的**是怎樣實現的。他的類圖是怎麼畫的。

不要「學習」設計模式。要用設計原則和物件間的基本關係來構建這些模式。這個是兩種截然不同的方法。乙個是由外而內,乙個是由內而外。

而經驗告訴我們,要擊敗乙個強悍的對手。從內部下手,省時省力,還一擊斃命。

我們要的是開發者,而不是hacker

我們要的是開發者,而不是hacker 譯者 dazuiba 某網路廣告公司需要招聘乙個程式設計師,來幫助公司建立企業對外和對內的 於是,兩個應聘者來面試。面試官給出了乙個任務 將乙個csv檔案從一種格式,轉換成另外一種格式。並要求應聘者在24小時之內完成。第乙個應聘者回到家,設計了乙個簡單而又令人驚...

為什麼要學習設計模式

廢話不想多說,就說關鍵讓你信服。前情一 上班後,很多時候首先就需要熟悉公司專案的 工程,裡面一大批分支,一大堆 檔案,看著都頭疼,這對於程式設計新手初級程式設計師來說想要短時間弄透它的結構是多麼難的一件事啊。如果你熟練設計模式,那問題就不大了,首先大框架如果是mvc模式那簡直是乙個通透啊,資料管理檔...

為什麼我要學習設計模式

一 什麼是設計模式 設計模式是指在軟體開發過程中,經過驗證的,用於解決在特定環境下,重複出現的 特定問題的解決方案。摘自 研磨設計模式 設計模式是解決一類問題的方法,就像演算法那樣,是解決一類問題的 設計模式是經驗的積累,不一定是最好的,但是模式可以幫助我們更好的解決問題 設計模式是變化的 二 為什...