《設計模式 可復用物件導向軟體的基礎》讀後感

2021-10-12 05:23:36 字數 608 閱讀 2062

第一章 引言

1.1 什麼是設計模式

書中引用 alexander 的話說,「每乙個模式描述了乙個在我們周圍不斷重**生的問題,以及改問題的解決方案的核心。這樣,你就可以一次又一次的使用該方案而不必做重複的勞動。」

我的理解是,設計模式是一種對一類問題的解決方案的抽象。我們需要對萬千世界的萬千問題進行歸類,同時對每類問題的解決方案抽象出一種設計模式,以便我們在以後遇到類似的問題的時候,可以直接使用設計模式的原理來解決,無需重複的去思考新的解決方案。

在這裡,模式即模板、方式。比如,我們要建樓,就用建樓的模式去設計施工;我們要修橋,就用修橋的模式去設計施工。這樣就可以利用以前解決類似問題的圖紙和經驗,大大節約成本,無需重複去思考如何設計建樓的方案,無需重複思考如何設計修橋的方案。當然,至於具體的例項(各種實際的橋),我們就需要在設計模式的指導下,去實現即可。由此就不難理解文中說到,「…只是在物件導向的解決方案裡,我們用物件和介面代替了牆壁和門窗,兩類模式的核心都在於提供了相關問題的解決方案」。

所以啊,萬物皆物件!門窗是物件,高樓和大橋是物件!想要實現物件,我們就利用設計模式來創造它們的例項就行,這個例項可以是世貿大廈、可以是金門大橋,也可以是教堂的門窗,亦或別墅的門窗。有了設計模式,有了物件,實現就應該不是難事了。

面向復用的軟體設計模式(1)

裝飾模式 外觀模式 復用可以產生可靠的軟體 復用產生標準化的軟體 乙個面向復用的設計面對改變更加靈活 已於修復並且易於增加新的功能 裝飾模式 decorator 外觀模式 fa ade public class dogbarkonce public class dogpublic class bar...

設計可復用的OO軟體

乙個模式有四個基本要素 找到相關的物件,以適當的粒度將它們歸類,再定義類的介面和繼承層次,建立物件之間的基本關係。你的設計應該對手頭的問題有針對性,同時對將來的問題和需求也要有足夠的通用性。你也希望避免重複設計或盡可能少做重複設計。物件導向 封裝,繼承,多型 m v c包括三類物件。模型m o d ...

物件導向軟體設計 設計模式學習

工作也從開始c語言,轉向現在的c 表面上看得出,但實際中卻沒有把這種轉變深入到思想中,究其原因還是對物件導向的軟體設計不了解,有必要好好學習一下設計模式這個東東。本文就是設計模式學習第一篇 1物件導向軟體設計中的問題 2設計模式 設計模式 某種問題通用性的解決方案,可重複的模式。就像是一種模具,使用...