application framework
application framework
目錄
什麼是Application Framework?
還沒有學習任何一套Application Framework 的使用之前,就給你近乎學術性的定義,我可以想象對你而言絕對是「形而上的」(超物質的無形哲理),尤其如果你對“面向對象”(Object Oriented)也還沒有深刻體會的話。形而上者謂之道,形而下者謂之器,我想能夠舍器而直接近道者,幾稀!但是,「定義」這種東西又似乎宜開宗明義擺在前頭。我誠摯地希望你在閱讀後續的技術章節時能夠時而回來看看這些形而上的敘述。當你有所感受,技術面應該也進入某個層次了。
基本上你可以說,Application Framework是一個完整的程序模型,具備標準應用軟體所需的一切基本功能,像是文件存取、列印預視、資料交換...,以及這些功能的使用介面(工具欄、狀態列、菜單、對話框)。如果更以術語來說,就是由一整組合作無間的「對象」架構起來的大模型。喔不不,當它還沒有與你的程序產生火花的時候,它還只是有形無體,應該說是一組合作無間的「類別」架構起來的大模型。
application framework
「類別超級市場」就是C++ 類別庫,以產品而言,在Microsoft 是MFC,在Borland是OWL,在IBM 則是OpenClass。這個類別庫不只是類別庫而已,傳統的函數庫(CRuntime 或Windows API)乃至於一般類別庫提供的是生鮮超市中的一條魚一支蔥一顆大白菜,彼此之間沒有什麼關聯,主掌中饋的你必須自己選材自己調理。能夠稱得上Application Framework 者,提供的是火鍋拼盤(就是那種帶回家通通丟下鍋就好的那種),依你要的是白菜火鍋魚頭火鍋或是麻辣火鍋,菜色帶調理包都給你配好。當然這樣的火鍋拼盤是不能夠就地吃的,你得給它加點能量。放把火燒它吧,這火就是所謂的application object(在MFC 程序中就是衍生自CWinApp 的一個全域性對象)。