讀書筆記 大話設計模式(上)

2021-08-21 22:10:57 字數 1241 閱讀 4828

最近翻了大話設計模式,裡面的**很多,很值得細細品味,值得借鑑,可惜時間不太夠,就草草記錄了下一些重要的點,還有半本的下個月再寫。

工廠模式

策略模式

單一職責。拍照就是拍照,單獨出來比較好。

開放-封閉原則。對程式的改動是通過增加新**進行的,而不是更改現有的**。一國兩制,考研找工作兩不誤。

依賴倒轉原則。提一下,物件導向的四個好處,活字印刷術,可維護,可擴充套件,可復用,靈活性好。高層模組不能簡單的依賴低層模組,而是兩者都依賴抽象。但是高層依賴低層資料庫,怎麼解決復用高層的問題呢?

裝飾模式。為已有功能動態的新增更多功能的一種方式。比如新加入的東西僅僅是為了滿足一些只在特定情況下才會執行的特殊行為的需要。把要裝飾的每個功能單獨放在乙個類中,並讓這個類包裝它所要裝飾的物件。

**模式。為其他物件提供一種**,以控制對另外乙個物件的訪問。應用:為其他物件提供乙個虛擬位址,別人也可以訪問。虛擬**,比如得載入。智慧型指引,持久物件的重新定位,同時附加一些內務處理。**模式就是乙個間接,並附加多種用途。

工廠方法模式。克服了工廠模式,新加方法時要修改原有的類,違背了開放封閉原則。但缺點是,每新加乙個產品,要增加乙個產品工廠的類。

原型模式。

模板方法模式。把子類共用的不變行為,用虛方法,去除子類的重複**。提供了乙個**復用的平台。一般留空,由子類自己補全。

迪公尺特法則。最少知識原則,就是類之間應該松耦合,耦合越弱,越有利於復用。修改其中乙個,不會對有關係的那些類有太多的波及。比如,想找it的人修電腦,正好你認識裡面的小張,就去指明找小張,結果他不在,就找不到人幫他修了。正確的做法是,把it部門當成乙個介面,直接找乙個部門的人就行了,你指定其中乙個人反而影響正常的工作。

外觀模式。設計初期注意層與層之間,建立外觀模式,增加乙個外觀facade提供乙個簡單的介面,減少他們的依賴。還有維護乙個遺留的大型系統時,可能已經很難維護和擴充套件了,但又有些功能無法捨棄,可以為新系統開發乙個外觀facade類,對舊系統提供一些簡單的介面,就是中間加一層,由這一層做這些複雜的互動。

建造者模式。一切都應該有規章制度,比如像肯德基這樣的連鎖餐廳,一切按照規範來,就不會做出難吃的雞腿。但是路邊小攤就不會了,不小心沒放鹽,或者放多了。建造者模式,模擬,比如乙個胖子乙個瘦子,乙個高個,矮個子,都是人,為了防止丟失腿啊,手的,建造者模式,創造了乙個person類,規定必須有手有腳。

觀察者模式。當乙個物件改變需要同時改變其他物件的時候。其實是解除耦合,讓耦合的雙方依賴於抽象,而不是具體。從而使得各自的變化不會影響另一邊的變化。一般用介面實現

抽象工廠模式。

讀書筆記 大話設計模式

大話設計模式 的確寫的很不錯。把晦澀解懂的設計模式,講的通俗易懂。邊讀邊用evernote做筆記,把印象深刻的整理了一下。先補習一下uml的圖示法 繼承,介面,組合,依賴,關聯 策略模式 strategy 定義一系列演算法,所有演算法完成的都是相同的工作,只是實現不同。減少演算法與使用類之間的藕合。...

大話設計模式讀書筆記一

1矩形框代表乙個類。如果類是抽象的,那麼要用斜體表示。第二層是字段和屬性。第三次是類的方法和行為。對應的屬性表示為 notation meaning public private protected 乙個例子就是 如果定義乙個介面。要在名稱上面加 介面也用棒棒糖語法表示 下面將類與類之間的關係。知道...

讀書筆記 大話設計模式(一)

在uml類圖中總共有 種圖示 對於類和介面,總共有兩種,下面只有一行表示方法的介面以及下面有兩行分別顯示屬性和方法的類。2.1單一職責原則 就乙個類而言,應有且僅有乙個導致它被修改的原因。也就是說,我們在設計類時,應當盡量保證每乙個類只承擔一項工作的職責,只有當這項職責發生變化,我們才需要修改類。如...