Awesome Software and Architectural Design Patterns


PRs Welcome awesome awesome


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

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

  • Other amazingly awesome lists can be found in the awesome list.

Contributing

License

CC0

To the extent possible under law, Dov Amir has waived all copyright and related or neighboring rights to this work.