設計模式是規則嗎?
地上本沒有路,走得人多了也就成了路。設計模式如同此理,它是經驗的傳承,並非體系;是被前人發現,經過總結形成了一套某一類問題的一般性解決方案,而不是被設計出來的定性規則;它不像演算法那樣可以照搬照用。
設計模式,軟體的永恆之道?
這個問題沒有答案,有的只是討論,看一下一位前輩結合建築學得出的幾點心得吧:
和建築結構一樣,軟體中亦有諸多的「內力」。和建築設計一樣,軟體設計也應該努力疏解系統中的內力,使系統趨於穩定、有生氣。一切的軟體設計都應該由此出發。
任何系統都需要有變化,任何系統都會走向死亡。作為設計者,應該擁抱變化、利用變化,而不是逃避變化。
好的軟體只能「產生」而不能「創造」,我們所能做的只是用乙個相對好的過程,盡量使軟體朝向好的方向發展。
需要設計模式嗎?
答案是肯定的,但你需要確定的是模式的應用是否過度?我得承認,世界上有很多天才
的程式設計師,他可以在一段**中包含
6 種設計模式,也可以不用模式而把設計做得很好。但
我們的目標是追求有效的設計,而設計模式可以為這個目標提供某種參考模型、設計方法。
我們不需要奉
gof的設計模式為圭臬,但合理的運用設計模式,才是正確的抉擇。
gof的《
design patterns
》,對這
23 種模式也背得滾瓜爛熟。但重要的不是
你熟記了多少個模式的名稱,關鍵還在於付諸實踐的運用。為了有效地設計,而去熟悉某種
模式所花費的代價是值得的,因為很快你會在設計中發現這種模式真的很好,很多時候它令
得你的設計更加簡單了。
其實在軟體設計人員中,唾棄設計模式的可能很少,盲目誇大設計模式功用的反而更多。
言必談「模式」,並不能使你成為優秀的架構師。真正出色的設計師,懂得判斷運用模式的
時機。還有乙個問題是,很多才踏入軟體設計領域的人員,往往對設計模式很困惑。對於他們
來說,由於沒有專案的實際經驗,
oo 的思想也還未曾建立,設計模式未免過於高深了。其
實,即使是非常有經驗的程式設計師,也不敢誇口對各種模式都能合理應用
設計模式 1 前言
轉眼間大三也快結束了,準備步入到大四了,自己也在廣州找到了乙份實習,算是開始離開鳥巢,出來接觸社會了吧。不過,由於不是在廣州讀大學,所以在廣州的實習算是困難頗多的,也真正感受到,要在廣州這個城市生活下來,是多麼的不容易。需要多少的能力與堅持。廢話少說,我先在這裡簡單說一下,為什麼要開始這一類的文章吧...
入門設計模式 前言
說起設計模式,很多小夥伴都潛意識的覺得這是個很大的概念,覺得 高大上 容易望而生畏。要麼是行百里者半九十。我寫這個系列的初衷,一是為了記錄梳理的過程,二也是為了跟大家共同交流,因為我認為學習理解一塊知識有乙個明顯的標誌就是能讓乙個從來不了解的人都能聽懂。所以我盡量以此為目的完成這次記錄。首先要解決最...
關於設計模式的前言
設計模式是指軟體設計問題的推薦方案。設計模式一般是描述如何組織 和使用最佳實踐來解決常見的設計問題。故設計模式只能說是一種高層次的方案,而並非是遇到某種問題一定要使用的方法。其不關注具體的實現細節,例如對於正在嘗試解決的問題,何種演算法和資料結構最由,則是由你自己去確定。一開始寫 就使用設計模式。設...