為了讓學弟將心思放在如何寫出Object-Oriented的程式,
歷年的學長都會整理一些教學文件,
而今年這樣的工作換到身為OOP助教的我!

特別系上OOP這門課近幾年都採用Eclipse + CDT + GTK開發Windows平台的C/C++程式,
並不是為了省Visual C++的授權費...每年都會跟微軟購買兩三間實驗室的授權,
這種組合超麻煩的,
光是要在Windows平台上使用CDT,
就得在Windows平台上安裝Unix-like的模擬環境:MinGW或Cygwin,
要開發視窗程式還需要安裝GTK,
偏偏GTK還只能算是C的函式庫,
所以要花工夫包裝成OO的元件,
何必這麼麻煩呢?
主要是希望學生能透過這種方式學會如何用物件導向的方式包裝視窗元件,
也許有人會說:何必自己造車輪呢?
呵~對!我們就是在教學生自己造車輪,
明明有MFC這些方便的元件可以用,
或者有Visual Basic那樣拖拉元件拼拼湊湊的方式就可以寫一個小程式,
但那樣的程式真的好嗎?
沒聽過Observer Pattern?
那真的能把MVC架構用到駕輕就熟嗎?
更別說MFC中變形的Document-Application架構了,
沒聽過Singleton嗎?
那恐怕很少人知道Singleton的變形應用在許多地方吧?
沒聽過Command Pattern嗎?
於是可以看到很多人使用JBuilder開發Java程式時或是用Visual Basic時,
總是喜歡在按鈕上點兩下然後開始寫程式,
然後程式碼亂七八糟,
用這些怪理怪氣的方式在寫程式,
等到程式出現非預期效果時,
或是當掉時才問:為什麼會這樣?

系上的用意是要讓學生知道這些輪子為什麼這樣造?
或是為什麼不這樣造?
當自己會造粗造的輪子後,
就會知道原來別人要設計這麼好的輪子需要多少智慧,
會用更多心思去學習,
然後活用!

Visual C++就是太過方便了...其實Eclipse也很方便了,
MFC太好用了,
所以才會決定用上述的方法讓學弟無法偷懶,
但也苦了助教,
每年都要更新這些文件也蠻累的,
特別是當自己決定用CPPUnit改作業時才發現:ㄜ...為了寫CPPUnit自己也要寫一份成品出來...Orz
回想自己碩一時會抱怨文件寫的不詳細或是為什麼要用CDT,
常常覺得很不舒服,
但習慣後慢慢覺得...其實沒這麼難嘛!

但說句實話,
商業產品還是別用這種方式開發,
能用別人做好的輪子就別自己做輪子,
特別是自己做的輪子還比較差時!

呵呵~昨天減重班營養師問:暑假過後還有繼續變瘦的請舉手?
當時只有我一個人舉手...後來一個遲到女生瘦超多的,輸給她了~
即使瘦少少的兩公斤,
但...還是瘦了!
真是太高興了是也...Kero~Kero~Kero~Tama~Tama~Tama~

創作者介紹

Spirit的異想世界

dbi1463 發表在 痞客邦 PIXNET 留言(0) 人氣()