БібліотекаMicrosoft Foundation Classes (MFC) дає можливість розробляти GUI-застосунки для Microsoft Windows на мові C++ з використанням багатого набору бібліотечних класів. Велика частина MFC є відносно тонким об'єктно-орієнтованим шаром над Windows API. Це рішення, з одного боку, підвищує продуктивність, але, з другого боку, успадковує всі недоліки дизайну Windows API і перешкоджає перенесенню програм на інші платформи.
Історія
Перша версія MFC була випущена разом з сьомою версією 16-розрядного компілятора мови C/C++ компанії Microsoft в 1992 році. Для тих, хто займався розробкою застосунків з використанням API функцій, пакет MFC обіцяв вельми значне підвищення продуктивності процесу програмування[3].
Однією з примітних особливостей MFC є префікс «Afx», використаний в іменах багатьох функцій, макросів і назві стандартного заголовного файлу «stdafx.h». На ранній стадії розробки, те, що згодом стало називатися MFC, мало назву «Application Framework Extensions» і абревіатуру «Afx». Рішення змінити назву на Microsoft Foundation Classes (MFC) було ухвалене надто пізно, щоб міняти згадки Afx в коді.
Object Windows Library (OWL), розроблена компанією Borland для роботи з власним компілятором C++, була конкуруючим продуктом, представленим в той же період. Урешті-решт Borland припинила розробку OWL і придбала короткострокову ліцензію на використання бібліотек для роботи з MFC, але так і не запропонувала повної підтримки MFC в своїх продуктах. Пізніше Borland випустила Visual Component Library як заміну OWL.
MFC 8.0 було випущено з Visual Studio 2005. MFC 9.0 було випущено у складі Visual Studio 2008. 7 квітня 2008 року Microsoft випустила оновлення класів MFC як позасмугове оновлення для Visual Studio 2008 та MFC 9.[4] Оновлення містить нові конструкції користувацького інтерфейсу, зокрема стрічки та пов'язані з ними віджети, повністю настроювані панелі інструментів, док-панелі, які можна вільно переміщувати або прикріплювати до будь-якої сторони, а також вкладки документів.[5]
Увага компанії Microsoft на MFC була ослаблена на користь Microsoft .NET Framework. Проте, попри це, MFC як і раніше залишається популярною серед розробників.