講到design pattern,我就想起一件古時候,這玩意剛有中文翻譯時,
在台哥大某案子中,一位台科大碩畢的PM,最愛design pattern掛嘴上。
拉個屎都要Façade一下。他除了會system design 外,還是System analysis
也是System architecture,所以當他丟某功能給你後,會順便跟你說,這你要
Façade,再跟你說要如何implement。
然後看到一堆Façade,但沒半個有被reuse。
台哥大的USER當然看到WEB 上某grid 元件,可以做到像EXCEL 哪樣的
FREEZE ROW 和 FREEZE COLUMN,然需他公司不想花錢買。Jquery 又沒相對應的。
就說了一件強大的implement 方式,就是在grid 卷動時,不斷的將
freeze 的row and/or column 的內容,copy 在當時的選定的
頂row and/or 最左column,到現在的頂row and/or 左column。
這種實作會怎樣呢? 有空的人去做看看,看會不會「閃」。
資料也不多,兩三千筆而已。
故事說完了。
→ superpandal: 記得在對岸論壇看過某句話很有道理 忘記在哪 大概意 06/26 00:05
→ superpandal: 思是人們發明新概念與觀點方式用來解決問題 然而該事 06/26 00:07
→ superpandal: 物會用某種型式反過來束縛你 06/26 00:08
Framework 這個英文字已經清楚解釋給你聽它的作用了。
是中國人英文不好,老以為一套打天下而已。
→ DrTech: 台灣沒什麼人在寫十萬行起跳的程式碼framework,不用開發f 06/26 02:16
→ DrTech: ramework給百人,千人,萬人用。當然覺得不需要設計模式。 06/26 02:16
→ DrTech: 你寫的程式頂多幾千行,頂多2-3個人會看第二次,就很了不 06/26 02:16
→ DrTech: 起了。當然不需要設計模式也能做得更好。 06/26 02:16
→ DrTech: 設計模式的聖經書書名都說了:Elements of Reusable Objec 06/26 02:21
→ DrTech: t-Oriented Software 06/26 02:21
→ DrTech: 因為你寫的,不需要一直給別人重複使用,當然不需要設計模 06/26 02:22
→ DrTech: 式。 06/26 02:22
我們換個角度想,以Java 為例,人們用最多的它的collection
不就是hashmap, hashtable, list , 古時還有人用vector。
就這樣囉,沒需要十萬行起跳吧。就算是整個collection 系列一起算
也不見得有十萬這麼多。
其實,你回頭去看當年C++ 的generic programming,它的目的,也是
用作collection / container 的實作而已。
PC 上最早實作generic 的compiler 是...borland C++ (我所看過的書)