What is a Software Framework?

A Software Framework is a model with predefined structures and actions that you can follow to create programs, by using those elements as a foundation for your program.

Let’s say a restaurant Chef is creating a new desert cake using a kitchen robot. The kitchen robot has different operations to “weight”, “slice”, “mix” and “cook”, as well as actions for “starting” & “pausing” operations, “opening” and “closing” the main container and more. Each operation has a set of parameters: when “slicing” you may specify the speed and type of cut, while in “cooking” you may specify the speed and temperature. The Chef can combine, step-by-step, each operation and several ingredients to achieve a meal. The kitchen robot restricts the operations, parameters and actions to the ones it offers, and even forces a certain sequence of steps — you can only cook after the lid is closed. However, those guardrails help recipe creation and avoid prevent ruined meals. You can say that this kitchen robot offers a framework with which any Chef can configure cake recipes.

What makes a Framework

Common Types of Frameworks

Examples of Frameworks