General Class Design Philosophy
Important This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer

General Class Design Philosophy

Microsoft Windows was designed long before the C++ language became popular. Because thousands of applications use the C-language Windows application programming interface (API), that interface will be maintained for the foreseeable future. Any C++ Windows interface must therefore be built on top of the procedural C-language API. This guarantees that C++ applications will be able to coexist with C applications.

The Microsoft Foundation Class Library is an object-oriented interface to Windows that meets the following design goals:

  • Significant reduction in the effort to write an application for Windows.

  • Execution speed comparable to that of the C-language API.

  • Minimum code size overhead.

  • Ability to call any Windows C function directly.

  • Easier conversion of existing C applications to C++.

  • Ability to leverage from the existing base of C-language Windows programming experience.

  • Easier use of the Windows API with C++ than with C.

  • Easier to use yet powerful abstractions of complicated features such as ActiveX controls, database support, printing, toolbars, and status bars.

  • True Windows API for C++ that effectively uses C++ language features.

For more on the design of the MFC Library, see:

© 2015 Microsoft