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.
- Programming language design patterns
- 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
-
AngularJS
-
C#
- design-patterns
- design-patterns-for-human - ultra simplified explanation to design patterns.
- Design Patterns Library
-
C++
-
Closure
-
Go
-
Java
- sourcemaking - patterns and anti patterns.
- oodesign - patterns catalog with UML diagrams.
- design-patterns
- effective-java patterns - patterns from the Effective Java book.
- Design patterns implemented in Java
- Effective-Java-3rd-Joshua-Bloch
-
JavaScript
- es6 design patterns
- humans - ultra simplified explanation to design patterns.
- design-patterns
- design patterns by addy osmani
-
Kotlin
-
Node
-
Object Oriented
-
PHP
- humans - ultra simplified explanation to design patterns.
- design-patterns
-
Python
- design-patterns
- PyPattyrn - A simple library for implementing common design patterns.
- Python Design Patterns
- Design Patterns in Python
- Django Design Patterns and Best Practices
-
React
-
Ruby
-
Rust
-
Scala
-
Swift
-
TypeScript
-
UML