Simplicity
Simplicity refers to the way the framework simplifies development by encapsulating much of the control of process flow and hiding it from the developers. Such encapsulation also represents one of the distinctions between a framework and a class library. A class library consists of a number of ready-to-use components that the application developers can use to build an application. However, the application developers must understand the relationships between various components and write process flow code to wire many components together in the application. On the other hand, a framework encapsulates the control of such process flow by prewiring many of its components so that the application developers do not have to write code to control how the various components interact with each other. The following figure illustrates the difference between a class library and a framework.
By moving the process flow logic from the application to the application framework, the framework designer can use his or her architecture and domain expertise to define how components should work together inside the framework. As a application developer starts using the framework, he or she can be highly productive in developing the application knowing very little about how the framework components work together.