花了一周多一點的時間看完了headfirst的設計模式。看完之後有一種恍然大悟的感覺,仔細想想有覺得自己好像什麼也看懂。
簡單說下對這本書的一點感悟吧,headfirst的書比較通俗易懂,之前看了四人幫的設計模式,看一半就有一種痛不欲生的感覺,自己水平有限,看不懂,也就沒在勉強自己了。
對於模式其實簡單來說,就是一種解決通用問題的通用方法。有哪些問題要解決呢。
軟體工程中,最大的問題也就是在需求的變更,需要不斷的更新版本。很多模式就是用來解決這個問題的,如何設計,才能更好的提高**的可擴充套件性。比如說迭代器,狀態模式,介面卡模式等等。
另外的問題,在於如何讓**思路更清晰,更好的封裝**,比如說門面模式。
第三個問題就是在於對問題的理解方式,這點解釋起來比較困難。比如說,多次提到的針對介面程式設計而非針對實現程式設計,將不變的變化得分開封裝。其實這是回到乙個很原始的問題,好比在說就是一座山,小和尚看到得就是山,老和尚看到就不一樣了。設計模式教會我這樣去思考**,要針對介面程式設計,而非實現。就是說,如果我們晚上要看書?我們該如何解決,好找到能發光的東西。對了,這就是介面,至於你是用檯燈還是白熾燈還是其他燈那是具體的實現。而當今世界最賺錢的是介面了。搞硬體都知道,很多硬體公司都是買介面的。介面是什麼,就是乙個解決問題的方案,一種抽象的思路。比如說,軟體是什麼,可以給乙個規範的定義,然後,某東西是不是軟體就是要拿這個規範去衡量。
當我想到這裡的時候,第一次覺得敲**跟現實的生活,更其他的事情有很多是相同的。這是設計模式讓我學會思考的地方。
HeadFirst 設計模式 工廠模式
定義乙個建立物件的介面,由子類決定要例項化的類。工廠方法將類例項推遲到子類。依賴倒置。第一種方式是 class pizzastore public pizza orderpizza string type class pizzafactory pizza pizza null 將pizza這個例項提...
HeadFirst 設計模式 復合模式
模式通常被一起使用,並被組合在同乙個設計解決方案中。復合模式定義 復合模式在乙個解決方案中結合兩個或多個模式,以解決一般或重 生的問題。mvc,mode 模型 view 檢視 controller 控制器 分別是mvc的三個部分。使用mvc模式,目的是為了解耦,各模組部分只需要處理相應的內容。檢視層...
《Head First 設計模式》 外觀模式
外觀模式提供了乙個統一的介面,用來訪問子系統中的一群介面。外觀定義了乙個高層介面,讓子系統更容易使用。要點 1 子系統元件a 子系統元件a public class componenta 2 子系統元件b 子系統元件b public class componentb 3 子系統元件c 子系統元件c ...