explaingit

dovamir/awesome-design-patterns

47,410Audience · developerComplexity · 1/5StaleSetup · easy

TLDR

A curated directory of design pattern resources organized by programming language and architectural domain, helping developers find proven solutions for common software problems.

Mindmap

mindmap
  root((repo))
    What it does
      Curated link directory
      Design pattern resources
      Organized by language
    Categories covered
      Language-specific guides
      Cloud architecture
      Microservices patterns
      Security patterns
    Use cases
      System design learning
      Interview preparation
      Pattern reference lookup
    Audience
      Software architects
      Backend developers
      System designers

Things people build with this

USE CASE 1

Find microservice patterns like service discovery or circuit breaking when designing distributed systems.

USE CASE 2

Study cloud architecture patterns for AWS, Azure, or Google Cloud before building infrastructure.

USE CASE 3

Prepare for system design interviews by reviewing established patterns in your programming language.

USE CASE 4

Look up security patterns and best practices when building authentication or data protection features.

Tech stack

Markdown

Getting it running

Difficulty · easy Time to first run · 5min
License could not be detected automatically. Check the repository's LICENSE file before use.

In plain English

Awesome Design Patterns is a curated link directory of resources for software design patterns and architectural patterns, organized by domain and programming language. Design patterns are named, reusable solutions to problems that come up repeatedly in software development, for example, the Singleton pattern for ensuring only one instance of a class exists, or the Observer pattern for letting multiple components react to events. The challenge is that design pattern resources are scattered across books, websites, GitHub repositories, and documentation in many languages, making it hard to find a good reference for your specific language or architectural concern. This list organizes those resources into categories: programming language-specific pattern guides (covering AngularJS, C#, C++, Go, Java, JavaScript, Kotlin, PHP, Python, React, Ruby, Rust, Scala, Swift, TypeScript, and others), general software architecture patterns, cloud architecture patterns (AWS, Azure, Google Cloud), serverless architecture, microservices and distributed systems, IoT, big data, machine learning pipelines, databases, DevOps and containers, mobile development, front-end development, and security. Each entry links to a GitHub repository, an article, a book, or a documentation page that covers those patterns in depth. You would use this when you are designing a system or feature and want to quickly find established patterns relevant to your context, for example, if you are building a microservice and want to see what patterns exist for service discovery, circuit breaking, or API gateways. It is also useful for developers studying system design or preparing for technical interviews. The repository itself is purely a Markdown reference document with no code to run or install.

Copy-paste prompts

Prompt 1
I'm building a microservice in Go. Show me the microservices patterns section from awesome-design-patterns and help me understand which patterns apply to my service discovery needs.
Prompt 2
I need to prepare for a system design interview. Use awesome-design-patterns to explain the Observer pattern and give me a real-world example of when to use it.
Prompt 3
I'm designing a serverless application on AWS. Find the serverless architecture patterns from awesome-design-patterns and explain which ones fit my use case.
Prompt 4
Show me the front-end design patterns for React from awesome-design-patterns and explain how to implement the Container/Presentational pattern.
Prompt 5
I'm learning about distributed systems. Use awesome-design-patterns to find resources on the Circuit Breaker pattern and explain why it matters for microservices.
Open on GitHub → Explain another repo

Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.