software_frameworks

Software frameworks

In computer programming, a software framework is an abstraction (computer science) | abstraction in which software providing generic functionality can be selectively changed by additional user-written code, thus providing application-specific software. A software framework provides a standard way to build and deploy applications.

A software framework is a universal, reusable software environment (disambiguation) | software environment that provides particular functionality as part of a larger software platform to facilitate development of software applications, products and solutions. Software frameworks may include support programs, compilers, code libraries, tool sets, and application programming interface | application programming interfaces (APIs) that bring together all the different Software component | components to enable development of a software project | project or software system | system.

Frameworks have key distinguishing features that separate them from normal Library (computing) | libraries:

  • inversion of control: In a framework, unlike in libraries or in standard user applications, the overall program's control flow | flow of control is not dictated by the caller, but by the framework.
  • extensibility: A user can extend the framework - usually by selective overriding; or programmers can add specialized user code to provide specific functionality.
  • open/closed principle | non-modifiable framework code: The framework code, in general, is not supposed to be modified, while accepting user-implemented extensions. In other words, users can extend the framework, but should not modify its code.

Examples

Software frameworks typically contain considerable housekeeping and utility code in order to help bootstrap user applications, but generally focus on specific problem domains, such as:

See also

software_frameworks.txt · Last modified: 2025/02/01 06:27 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki