最近回了 Mud 玩玩,碰到那時代的老朋友們,Passerby (鹿)也在其中。
碰到了鹿,當然免不了又被牠電的亂七八糟。
不過,聊了一下卻發現到。原來,很多的東西我都會,只是....我不知道它的 Termed .. 冏 ..
說實在的,一直以來,我就不是一個很講究 termed (術語)的人。
一來也是因為我英文很破,很多 termed 都是英文比較好講,
二來則是我也不是什麼理論派的人,書看的也沒比人家多。
但最近卻開始慢慢了解到 termed 的重要性。
最後,居然連鹿都跟我們家老大講一樣的話。
基本上,大意就是,假設你的 termed 不精確,則你在和別人討論事情時便需要浪費多餘的時間去解釋,這對許多情況下,都是一種很不必要的浪費。而且,在講解事項時,也還需要另外解釋半天,更是沒有效率。
所以,我也認命的接受這個說法,開始努力的惡補我的 termed ..
然後,也很合理的又被鹿貫頂了一晚,學了幾個滿有意思的 termed:
delegate 委派
aggregation 聚合
composition 合成
另外還有 strategy pattern
******************* 以下是鹿的解釋 **********************
實際上 strategy 是被用來達成 open-closed principle ㄉ原則
你要擴充新功能 只要寫新ㄉ code 實作現有ㄉ strategy class
以及下面這三個....
********************* 又是鹿的例舉 **********************
design pattern 裡有三種常見ㄉ factory
simple factory, factory method, abstract factory
最後搞了半天,我卻突然發現,原來我平常寫 code 的習慣,正好符合所謂的design pattern 中的 simple factory ...
然後 delegate 則也是我經常在定義 OO interface 中不自覺的使用...
而 aggregation 和 stragegy pattern 更是我平常最常使用的 OO 物件模型的架構。
我是一個完全沒有學習過所謂 design pattern 的人,我有的,只不過就是 OOP 的設計理念和基礎。
仔細想想,只能說,理論的產生,畢竟還是因為有實際的需求,才會被提出來。
而 pattern 更只是提出常用的、優良的設計方式。
在許多的情況下,沒學過 design pattern 並不就代表什麼。
假設你對 OO 有了很正確的了解及深入的思考,這些 pattern 則就會自然而然的被你給應用出來。
畢竟是先有 OO 才有人去歸納出這些 pattern 的,不是嗎?
但也不代表讀那些書就不重要,就像我先前所講的,你能用一個 termed 來描述你的設計方式,那當然勝過你還要展示你的 code 來讓人家了解你的設計方式來的有利。
所以,我的結論還是,書雖然要看,但正確的基礎認知卻比任何 pattern 更加重要。
假如能對 OO 有正確的了解認知,則許多東西你便能很容易便吸引進去,反之,看再多的 pattern 也只是只知其然,而不知其所以然,而我則非常不認同這種學習的態度。
至少,這對我來講是非常痛苦的。
講到這裡,有空再來講上面我所學到的那些 termed 的定義吧。
晚安。
站內搜尋
訂閱:
張貼留言 (Atom)
熱門文章
-
真的只能說,偷懶,的的確確是人類進步的原動力。 上一篇 我們討論到有關於 Handler 和 UI thread 的關係, 這一次,我們介紹更簡單方便的小工具,讓你來更新你的 UI。
-
剛接觸 Android 程式開發的人,往往容易寫出會讓整個程式停下來的 Code, 而大多數的原因其實都很單純,就只是因為你放了loading太重的程式碼在 Main thread 中, 我們可以用很簡單的方法來解決這個問題。
-
由於 C/C++ 語言的特性,許多 API 是必需要利用 Callback function 才能完成作用 在 C 的時代這是很合理也很直覺化的設計,但若將場景拉到 C++ 呢.... 此篇除了介紹 How 之外,也將對 Why 進行簡單的介紹,希望能夠令不知其所以然的人有所...
-
雖然在 Android 裡開 Thread 的機會因為一些其他方便的機制而相對的變少了些, 但依然改變不了它是一個非常重要的 class 的事實。 最近在看的一個和 Android default Gallery3D 有關的 bug 就發現了一個有趣的問題。
-
大約十年前,在台中勤益就讀的時後,修了 8051 的組合語言。 這也是我那時 Implement 的作業之一,雖然沒有什麼特別了不起的功能, 但沒想到當時為了讓同學看得懂,寫了不少的註解,現在看到真是有一種懷念的感覺。
-
今天跟大家分享一下小弟的一個自製軟體 - 忍者相機 。 Market 的網址: https://market.android.com/details?id=com.lak.android.ninja&feature=search_result 主要的特色/包括以下: ...
-
雖然這個功能還沒正式上架 (10/29),但這個功能已經在測試中了! 舒服呀!!
-
因為一些原因,我必需要寫一個動態的 Preference Screen,裡面的某幾個 Preference 需要依 Device 支援的程度,來顯示選項及預設值。 我本來以為這是一個簡單的工作…
-
最近在修改一些前人寫的 Code,越改越是沒力。 看到了一段很爛的計時器寫法,我終於受不了而抓狂了....... 下面分享我個人改寫的版本,適用於 Android, 但經過小修改,應該任何 Java 程式都可以用。
-
最新的 ADT 22 出了,還強制要求 Eclipse 的使用者更新.. 但,我想很多人一更新完,就完全不能 Build code 了吧...真是一場災難。
作者已經移除這則留言。
回覆刪除娘泡要我留言我就留言啊
回覆刪除