再一次的看設(shè)計模式的時候,感覺自己對設(shè)計模式,有了一個進一步的理解(自我感覺的J).
在數(shù)學計算中我們要求AàB點的最短路徑,可能從A點到B點有很多種走法,但是追求完美的我們(尤其是程序員),總是希望找到一條最短的路徑。設(shè)計模式也是相同,在設(shè)計中我們想要找到設(shè)計中的最短路徑,也就是設(shè)計的永恒之道(就是設(shè)計模式中常說的無名的質(zhì)),說白了,就是如何設(shè)計才能使系統(tǒng)更容易擴張,更靈活,更穩(wěn)定。模式追求的是一種最佳的解決方案,在這個方案的指導下,我們能夠跟好的去實現(xiàn)我們所想要實現(xiàn)的東西。
數(shù)學計算的時候有一定的法則,軟件設(shè)計的時候也是有一定的法則的,而這些法則,都是在追求軟件設(shè)計的守恒定律時形成的——什么開/閉原則,面向接口原則,依賴倒置原則等等,但是軟件設(shè)計中的原則也是可變的,而且是時刻發(fā)展的,要不然就不會出現(xiàn),今天的spring非常火的場面,Ioc原則。
數(shù)學計算是通過許多的公式推倒出結(jié)果的,但是我們求解的時候,會出現(xiàn)這種情況,C結(jié)果,是通過A和B兩個公式推導出來的,模式也是一樣,有一些較小的模式,而這些較小的模式是一些較大的模式的基礎(chǔ)。
在理解模式的時候我們可以從對象的生命周期來理解。
對象產(chǎn)生的時候需要描述對象的屬性,它的存在形式,創(chuàng)建模式就是用來描述這個的;而這個對象存在就會和其他對象發(fā)生聯(lián)系,就會和其他對象發(fā)生作用,如何描述他們之間的聯(lián)系和作用就是結(jié)構(gòu)模式要做的事了;前面這些都是靜態(tài)的,對象的存在,不可能永遠靜止不動的,它會根據(jù)自己的需要,完成一些動作,語言中還有動詞,名詞,形容詞之分呢!模式就跟語言一樣需要有動詞來描述對象,行為模式就是用來描述對象的行動的;
設(shè)計模式,實際就是一種設(shè)計中的語言,很多的最基本的模式,就是組成這種語言的基礎(chǔ),我們在理解模式的時候不能只是背模式,而應(yīng)該靈活的運用他們,讓他們有機的結(jié)合在一起,形成一個生動的句子。這個就好比我們學英語,不是光背一些單詞,就能寫出一篇好文章的,還需要我們有語感,理解了以后才能寫出來。
這個只是我對模式的一點點個人的理解,不代表所有人的觀點!:)
posted on 2005-06-16 22:07
我愛夏花,更愛秋葉 閱讀(798)
評論(3) 編輯 收藏 所屬分類:
設(shè)計模式