Frameworks are a special case of software libraries in that they are reusable abstractions of code wrapped in a well-defined API, yet they contain some key distinguishing features that separate them from normal libraries.
Software frameworks have these distinguishing features that separate them from libraries or normal user applications:
- inversion of control: In a framework, unlike in libraries or normal user applications, the overall program's flow of control is not dictated by the caller, but by the framework.
- default behavior: A framework has a default behavior. This default behavior must actually be some useful behavior and not a series of no-ops.
- extensibility" A framework can be extended by the user usually by selective overriding or specialized by user code providing specific functionality.
- non-modifiable framework code: The framework code, in general, is not allowed to be modified. Users can extend the framework, but not modify its code.
|This page uses Creative Commons Licensed content from Wikipedia (view authors).|