以前看過head first design patterns覺得是個不錯的書,學習了一點設計模式,現在弄erlang了,十分想兩者結合對比著看看,不為別的,體會兩者之間的區別跟聯絡,看看世界到底是oo的,還是functional的 :d 由於我並沒有什麼真正oo的程式設計經驗,難免錯誤很多,大家批判著看好了。
先看第乙個模式strategy模式,大致上來說,就是對介面程式設計而不是具體實現程式設計,如果每個子類都有的功能,自然繼承可以,如果不全有則比較麻煩,加在父類,則那些不需要的子類莫名其妙的有了,如果僅僅是乙個介面,很多的子類又得全部去實現,總之就是多個子類,有少量的方法,既想**的重用,又要避免擾亂,所以有了這個模式,建立乙個單獨的行為類,來實現可能的方法,然後子類誰用哪個就初始化個具體的object就可以了。
到了functional程式設計當中,似乎不必要做為了建立行為,賦給不同的人,而建立乙個單獨的類,因為可以直接建立一堆的行為函式,直接放在那裡,並直接拿過來用就可以了。根據書上的示例**,改寫成了這樣的erlang**:
實踐中用到的時候,比如應該就是主要對於mallard_duck構造那裡,如果在實際系統中,這裡可以根據不同的屬性配置不同的函式,然後丟回給系統,在真正叫到的時候就可以做出不同的行為了。
OO與設計模式的原則 目標
前兩天,和一朋友 聊到oo設計原則時,對設計模式有了更深的了解,在這裡總結一下,與大家分享。oo object oriented 物件導向 oo方法 object oriented method,物件導向方法,物件導向的方法 是一種把物件導向的思想應用於軟體開發過程中,指導開發活動的系統方法,簡稱o...
OO與設計模式的原則 目標
前兩天,和一朋友聊到oo設計原則時,對設計模式有了更深的了解,在這裡總結一下,與大家分享。oo object oriented 物件導向 oo方法 object oriented method,物件導向方法,物件導向的方法 是一種把物件導向的思想應用於軟體開發過程中,指導開發活動的系統方法,簡稱oo...
OO設計模式學習筆記
學習設計模式,首先要了解設計原則 學設計模式,就像學唱歌,先模仿名人,再活學活用,把別人的經驗變成自己的,然後創造自己的經驗模式 學習設計模式,是學習其他開發人員的智慧型和經驗,使用設計模式,可以更好的做到 復用 不用把設計模式都背熟,但是一定要在腦子裡有乙份設計模式的目錄,在設計時,知道什麼時候要...