2010年4月12日 星期一

Microsoft Foundation Classes

Microsoft Foundation Classes, 簡稱MFC,是一個微軟公司提供的類別庫(class libraries),以C++類的形式封裝了 Windows的API,並且包含一個應用程式框架,以減少應用程式開發人員的工作量。其中包含的類包含大量Windows控制代碼封裝類和很多Windows的內建控制項和元件的封裝類。


  • MFC的優點
    MFC的主要優點是可以用物件導向的方法來呼叫Windows API,以及應用程式開發的便捷。MFC將很多應用程式開發中常用的功能自動化,並且提供了文檔框架檢視結構和活動文檔這樣的便於自訂的應用程式框架。同時,在Visual C++內部也內建了很多對MFC的例如類精靈這樣的支援以減少軟體開發的時間,使用類精靈可以生成從hello world這樣的簡單程式到活動文檔伺服器這樣的複雜程式。MFC的訊息對映機制也避免了使用性能較低的龐大虛擬函式表。
  • MFC的缺點
    雖然MFC的原始碼對使用者是完全開放的,但是MFC的一些封裝過程過於複雜,以致於新使用者很難迅速掌握MFC的應用程式框架,以及在偵錯中定位問題的位置。同時,很多MFC物件不是執行緒安全的,致使在跨執行緒存取MFC物件時需要編寫額外的代碼。另外,MFC的很多類依賴於應用程式精靈生成的代碼,使得在使用Visual C++中其他型式的應用程式精靈生成的工程中添加MFC支援的難度大大增加。

Hierarchy Chart

沒有留言:

張貼留言