Awesome Design Patterns

repository·master·Indexed 13 days ago

https://github.com/dovamir/awesome-design-patterns

A curated collection of software and architectural design patterns covering programming languages (Java, Go, Rust, Python, TypeScript, etc.), cloud infrastructure (AWS, Azure, GCP), distributed systems, microservices, and specialized domains like IoT, Machine Learning, and security architecture.

Tokens
1.9K
Snippets
0
Records
8
Agent score
50%

What's inside Awesome Design Patterns

  1. Explore Programming Language Design Patterns

    master

    This repository provides a curated list of resources for design patterns across various programming languages. You can find specialized patterns and implementations for:

    • Web Frameworks: AngularJS, React, Vue.js
    • Systems & Backend: C++, Go, Java, Kotlin, Node.js, Rust, Scala, Swift, TypeScript
    • Scripting & General Purpose: C#, Closure, JavaScript, PHP, Python, Ruby
    • Functional & Specialized: Elixir (including the 'Pipeline' pattern), UML
    • Object-Oriented: General principles and style guides

    Each language entry links to external repositories, books, or guides containing specific pattern implementations and explanations.

  2. Explore Architectural Design Patterns

    master

    The repository categorizes architectural patterns into several high-level domains to help you design large-scale and specialized systems:

    • General Architecture: Common software patterns, reactive design, scalable system design, and enterprise application architecture (Martin Fowler).
    • Cloud Architecture: AWS, Azure, and Google Cloud (GCP) specific patterns, cloud cost optimization, and multi-tenancy/SaaS isolation strategies.
    • Serverless Architecture: Design patterns for serverless microservices and solving common serverless problems.
    • Microservices & Distributed Systems: Microservices pattern languages, anti-patterns, the Twelve-Factor App methodology, synchronous vs. asynchronous communication, and enterprise integration patterns.
    • Specialized Domains: Internet of Things (IoT) communication, Big Data (MapReduce and Streaming/Real-time analytics), and Machine Learning (Distributed ML patterns).
  3. Explore Mobile and Front-End Architecture Patterns

    master

    Design patterns for mobile platforms and modern web front-ends.

    Mobile Development

    Front-End Development

  4. Recommended Books on Design Patterns

    master

    A collection of essential reading for software design and architecture.

    • General & OOP:
      • Design Patterns: Elements of Reusable Object-Oriented Software
      • Head First Design Patterns
      • Object Design Style Guide
    • Language Specific:
      • Effective Java (3rd Ed)
      • Node.js Design Patterns
      • Django Design Patterns and Best Practices
      • Spring Boot in Practice
    • Specialized Domains:
      • MongoDB Applied Design Patterns
      • Game Programming Patterns
      • Designing Microservices
  5. Explore DevOps and Container Design Patterns

    master

    Resources for managing containers, Kubernetes, and Infrastructure as Code (IaC).

    Containers & Kubernetes

    Infrastructure as Code & Scripting

  6. Explore Database and Storage Design Patterns

    master