Awesome Software and Architectural Design Patterns
A curated list of software and architecture related design patterns.
Software design pattern - A general, reusable solution to a commonly occurring problem within a given context in software design. It is a description or template for how to solve a problem that can be used in many different situations.
the-pipeline - The Pipeline is defined by a collection of functions that take a data structure as an argument and return the same type of data structure
InnerSource Patterns - Patterns for implementing InnerSource, the use of open source principles and practices for software development within the confines of an organization.
Awesome Software and Architectural Design Patterns
Software design pattern - A general, reusable solution to a commonly occurring problem within a given context in software design. It is a description or template for how to solve a problem that can be used in many different situations.
Contents
Programming Language Design Patterns
AngularJS
C#
C++
Closure
Go
Java
JavaScript
Kotlin
Node
Object Oriented
PHP
Python
React
Ruby
Rust
Scala
Swift
TypeScript
UML
Vue.js
Elixir
General Architecture
Cloud Architecture
Serverless Architecture
Micro services & Distributed Systems
Internet of things
Big Data
Machine Learning
Databases and Storage
DevOps & containers
Mobile
Front-End Development
Security
Books
Other Awesome Lists
Contributing
License
To the extent possible under law, Dov Amir has waived all copyright and related or neighboring rights to this work.