A framework is a conceptual platform where common code with generic functionality can be selectively focused or overridden by software developers. Frameworks take the form of libraries, where a well-defined application program interface (API) is reusable anywhere within the software under development.