Home

Awesome

Awesome Software and Architectural Design Patterns

<br>

<img alt="PRs Welcome" src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg" /> <a href="https://gitter.im/awesome-design-patterns/Lobby"><img src="https://badges.gitter.im/awesome-design-patterns/Lobby.svg" alt="awesome"></a> <a href="http://awesome.re"><img src="https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg" alt="awesome"></a>

<br>

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.

<br>

Contents

<br>

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

Contributing

License

CC0

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