In the world of software, what really matters is thought, not the tool itself.
1: ApplicationProgramFramework:
In addition to the "net, MFC, ATL, Owl (C ++ builder Library), Windows API ",
In fact, there are many application frameworks such as QT and Java, all of which are cross-platform libraries.
However, for all the application framework libraries, their corresponding class names and functions may be different, but their corresponding
The core idea is the same: a combination of tree-like UI window components that can be combined at any level,
The widget notifies external applications through the event mechanism.
And they are all committed to solving some common computer problems, such as serialization, runtime type recognition,
Exception Handling, message routing, generic consistent indirect function call invoke etc.
The UI provides a series of basic elements such as menus, toolbar, and dialog boxes.
Understand this. Not all frameworks are the same.
2: View display, data definition,Algorithm
In fact, in a hierarchical design system, the UI and application framework transmit the original mouse and keyboard messages
In fact, the workload at the logic business layer usually accounts for about 1/8 of the work in a large system, and the entire technology
It is not difficult. The remaining view, data, and algorithms are the core of the software.
3: Software Architecture Design
In addition, the software framework design concept is completely unrelated to the application framework,
It can only be implemented with the help of C ++ features (encapsulation, inheritance, polymorphism.
Here I also want to talk about the fact that many of our good designs can be used directly with the good design of many good libraries for flexibility.
Apply to our system: for example, the Com idea, the implementation method of ATL to implement COM
STL ideas and implementation techniques, such as MFC, wtl, and owl.
Com is really a good thing. Maybe you will never actually Use ATL or MFC for com, however, you can build a large, flexible, and large system based on the idea of COM.