[楔子]
上了Bill的課程,不,應該是更早之前,一個莫名的悸動,促成了我與Bill這微妙的緣分。
時空拉回到,那個佇立在風雨交加夜晚中的小咖啡館... ... ...
「OOP,近乎禪」
坐在我面前的Bill,不疾不徐地說出了這句話。或許我不應該稱呼他為Bill叔,比爾禪師也許更為恰當!?
Bill接著說:「其實我們大腦看待世界的方式,本來就是物件導向式的。而物件導向很重要的一個核心概念,就是抽象化。我問你,甚麼是抽象化?」
在這一瞬間,我驚呆了。對於抽象二字,我除了畢卡索其他甚麼都想不起來啊!
我甚至開始懷疑,今晚我與禪師邂逅的公案,會不會超過10個人按讚... ...TAT
正當我還在煩惱的當下,接下來Bill說的話,讓我一輩子也忘不了。
[第一章:被神化的模式(Pattern)]
「在回答抽象化這個問題之前,先岔題一下。你信裡面有提到看過設計模式的書籍。很多學習寫程式的人,常常會想要『套用某個模式到某個專案中』,這反過來了。」
咦!?
「你要想的是... 你 。 想 。 解 。 決 。 什
。 麼 。 問 。 題 」
「解決問題的過程中,你會發現,這些你想出來解決問題的『方法』,就是書上面說的『模式』」
咦
咦 咦!?
從後背尾椎一股竄流而上直衝腦門的十萬伏特電流,讓我不禁夾了個冷筍。
這單純、簡單、樸實卻又直搗核心的觀念,輕易地摧毀了那被我神化了的設計模式宮殿,炸裂出一株擁有23個末節分枝的大樹。
我彷彿聽到Erich Gamma一派輕鬆地坐在枝頭上哼著必昂濕的「I am Singleton~ I am Singleton~ 」
如果這不是美,那甚麼才是美?
(未完待續... ...)