@什麼是模式
模式這個詞彙,在我們軟體領域的應用是從其他行業內學過來的,因為軟體行業相對於其他行業來說是個年輕的行業,所以也必須向其他行業多多學習和借鑑,然而模式這個詞彙就是借鑑之一。
模式是用來記錄經驗的,並不是某乙個人突然發明的,模式只在發現類似的設計方案在很多專案中反覆出現之後總結得出的。模式是用來討論問題和解決方案的,有了模式我們就能出現那種反覆出現的內容,以及在特定的上下文中對它的解決方案,並且借助於模式詞彙,還能有利於我們和其他人討論帶來方便,那麼模式的定義有沒有乙個標準呢?沒有,但是我們要知道所有表象背後的抽象,那就是在乙個特定的上下文中反覆出現的乙個「問題/解決方案」的對子。
@模式的定位
模式的可以有不同抽象層次和該抽象層次的不同分類。
模式該怎麼分類呢?我們可以站在不同的抽象層次可以有不同的分類,在高一點就有架構模式,低一點有設計模式,而我們關注的就是我們目前對於我們有益處的模式分類,所以學習模式首先要知道該模式是處於哪乙個抽象層次,這樣我們才能做到有的放矢,分析的時候,我們有分析模式,設計的時候我們有設計模式,處於中間的,我們有j2ee核心模式,這些都是前輩留給我們的寶貴的經驗,我們要好好的利用,所以模式某種意義上來說就是在乙個特定的上下文寶貴的經驗。
@模式之間的相互支援
簡而言之,沒有哪個模式是乙個孤立的個體。每個模式都只有靠與其他模式相互支援才得以存在於世界之中;每個模式都嵌入到更大的模式裡,被同樣大小的模式環繞,並且還有更小的模式嵌入在它的內部--這就是所謂「相互支援」的意思。
所以有這樣乙個前提,我們知道模式之間是相互支援的,沒有孤立的模式,我們為了學習,所以把模式單個的拿出來,但是真正使用的時候我們還是會聯合其他的模式一起使用的,
所以如果你沒有自己的抽象層次來看模式,那麼你會覺得昏天暗地,所以明白自己的定位,有的放矢,才便於自己的學習,一把抓,結果什麼也抓不到。我們從不同的抽象層次來看模式,是不是可以理解為從不同的側面或者叫做高度來看模式呢?這和我們的顯示生活真的很想象啊,你現在看模式的抽象層次,是這樣,在高一層,又會發現該模式構成了更大模式的乙個部分,自己的餓視野又有了更新的認知,這難道不是自己的乙個迴圈的過程嗎?我們的人生不也是在追尋自己終極的抽象層次嗎?
我們討論模式又不得不在乙個特定的層次上去討論模式,所以我們不要用不同層次的模式相互對話,這就像我們顯示生活中,見人說人話,見鬼說鬼話,用他們的語言來說話,然而在不同的層次上,又有每個抽象層次模式之間的關係,導致出現了不同的抽象層次的語言,這一點,我們要學會辨別,例如 j2ee模式框架,所謂框架也就是將模式連線起來,形成乙個解決方案以實現一組需求。
@使用模式有什麼好處?
1、首先既然模式是經驗,那麼就讓你利用給乙個經過驗證可行的解決方案。
2、是高手們交流的基礎,便於高手之間的溝通
3、模式都有其抽象層次,抽象層次的範圍就是乙個應用範圍,這個範圍就是其約束,所以模式約束解決方案的空間。
什麼是模式? 什麼是框架?
1 什麼是模式?模式,即pattern。其實就是解決某一類問題的方 你把解決某類問題的方法總結歸納到理論高度,那就是模式。alexander給出的經典定義是 每個模式都描述了乙個在我們的環境中不斷出現的問題,然後描述了該問題的解決方案的核心。通過這種方式,你可以無數次地使用那些已有的解決方案,無需在...
什麼是模式? 什麼是框架?
1 什麼是模式?模式,即pattern。其實就是解決某一類問題的方 你把解決某類問題的方法總結歸納到理論高度,那就是模式。alexander給出的經典定義是 每個模式都描述了乙個在我們的環境中不斷出現的問題,然後描述了該問題的解決方案的核心。通過這種方式,你可以無數次地使用那些已有的解決方案,無需在...
什麼是模式,什麼是框架
1 什麼是模式?模式,即pattern。其實就是解決某一類問題的方 你把解決某類問題的方法總結歸納到理論高度,那就是模式。alexander給出的經典定義是 每個模式都描述了乙個在我們的環境中不斷出現的問題,然後描述了該問題的解決方案的核心。通過這種方式,你可以無數次地使用那些已有的解決方案,無需在...