Everything about Software framework
Software that supports solution development via inversion of control
In computer programming, a software framework is an abstraction in which software, providing generic functionality, can be selectively changed by additional user-written code, thus providing application-specific software. It provides a standard way to build and deploy applications and is a universal, reusable software environment that provides particular functionality as part of a larger software platform to facilitate the development of software applications, products and solutions. Software frameworks may include support programs, compilers, code libraries, toolsets, and application programming interfaces (APIs) that bring together all the different components to enable development of a project or system. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Software frameworkA 5-minute orientation
- Skim a recent paper: SySeVR: A Framework for Using Deep Learning to Detect Software VulnerabilitiesInfluential work since 2022
- Pick up a classic book: Programming WCF ServicesThe most-reprinted book on the subject
- Read the landmark paper: ERP software implementation: an integrative frameworkCited 159 times
- Go sideways: Inversion of controlA closely related topic
- Go sideways: Call superA closely related topic
📖 Definitions
Noun An abstraction used in software development to provide generic functionality for application-specific software.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
ERP software implementation: an integrative framework
Cellular software defined networking: a framework
A framework for hardware/software codesign
An evaluation framework for software crowdsourcing
The robot software framework ArmarX
A framework for simulation-optimization software
A framework for evaluating software technology
Software measurement: A conceptual framework
🆕 Influential since 2022
SySeVR: A Framework for Using Deep Learning to Detect Software Vulnerabilities
A Refactoring Classification Framework for Efficient Software Maintenance
Explainable AI Framework for Software Defect Prediction
The orchestrator's partner management framework for software ecosystems
A Distributed Software Project Management Framework
📚 Books worth reading
Programming WCF ServicesJuval Löwy, Michael S. Montgomery · 2007
Framework design guidelinesKrzysztof Cwalina, Brad Abrams · 2000
.NET framework essentialsThuan L. Thai, Hoang Lam · 2001
UX style frameworksMarti Gold · 2015
Professional AngularJSValeri Karpov · 2015
Flask Web DevelopmentMiguel Grinberg · 2014
AngularJSBrad Green, Shyam Seshadri · 2013
Introducing Microsoft .NETDavid S. Platt · 2001
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Inversion of control In software design, inversion of control (IoC) is a design principle in which custom-written portions of a computer program receive the flow of control…
- Call super Call super is a code smell or anti-pattern of some object-oriented programming languages. Call super is a design pattern in which a particular class stipulates…
- Template method pattern In object-oriented programming, the template method is one of the behavioral design patterns identified by Gamma et al. in the book Design Patterns. The…
- Software design pattern A software design pattern describes a reusable solution to a commonly needed behavior in software. A design pattern is not a rigid structure to be copied…
- Extensibility Extensibility is a software engineering and systems design principle that provides for future growth. Extensibility is a measure of the ability to extend…
- Object–relational mapping Object–relational mapping (ORM, O/RM, and O/R mapping tool) in computer science is a programming technique for converting data between a relational database…
- Inheritance (object-oriented programming) In object-oriented programming, inheritance is the mechanism of basing an object or class upon another object (prototype-based inheritance) or class (class-base…
- Fedora Commons Fedora (or Flexible Extensible Digital Object Repository Architecture) is a digital asset management (DAM) content repository architecture upon which institutio…