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.
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
- Vue Patterns - Useful Vue patterns, techniques, tips and tricks and curated helpful links.
-
Elixir
- design-patterns
- 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
General Architecture
Cloud Architecture
Serverless Architecture
Micro services & Distributed Systems
Internet of things
Big Data
Machine Learning
Databases and Storage
- SQL
- NOSQL
- Storage
- storage patterns- Comparing your on-premises storage patterns with AWS Storage services
- S3 Design Patterns - Best Practices Design Patterns: Optimizing Amazon S3 Performance
DevOps & containers
Mobile
Front-End Development
Security
Books
Other Awesome Lists
- Other amazingly awesome lists can be found in the awesome list.
Contributing
License
To the extent possible under law, Dov Amir has waived all copyright and related or neighboring rights to this work.