|
|
Optimize with a SATA RAID Storage Solution
Range of capacities as low as $1250 per TB. Ideal if you currently rely on servers/disks/JBODs
The first Windows applications were written in the C language. While C was okay for small applications, developers found it difficult to use this language to organize larger applications. The problem centered around the Windows messaging model and the fact that C is a structured rather than an object-oriented language. Traditional applications using C would create a main window and assign a callback function (known as a window procedure) to this window. Whenever anything of consequence happened to this window, Windows would fire a message to the window by calling the window procedure. The window procedure would respond by first identifying the message via a huge switch-case statement and then process the message. As is often the case, state would need to be saved via local static variables or global variables. A large application could result in many such variables. This paradigm worked well for smaller applications but proved to be detrimental to larger applications. Something had to be done.
The C language evolved from a structured language into an object-oriented language -- a language called C++. The nice thing about an object-oriented language is that it gives developers the ability to model real-world entities in a more natural way by using objects.
A few years ago, Microsoft released a tool for developers who wanted to create Windows applications using C++. This product became known as Visual C++. One of the features introduced with Visual C++ was an application framework known as Microsoft Foundation Classes (MFC). The MFC framework is a collection of C++ classes, written and tested by Microsoft's developers, that implements a lot of basic Windows functionality. Many software concepts -- from toolbars and status bars to a document-view model based on the Model-View-Controller architecture -- have been implemented in MFC. The idea behind MFC is to save time during development by using MFC code for most of the application and then extending MFC to provide that application's unique capabilities -- via the fundamental object-oriented concepts of encapsulation, inheritance, and polymorphism.