What is Framework ?

A framework is a piece of structural software. We say structural because structure is per-
haps a larger goal of the framework than any specific functional requirement. A
framework tries to make generalizations about the common tasks and workflow of a
specific domain. The framework then attempts to provide a platform upon which
applications of that domain can be more quickly built. The framework does this pri-
marily in two ways. First, the framework tries to automate all the tedious tasks of the
domain. Second, the framework tries to introduce an elegant architectural solution to
the common workflow of the domain in question.