Architectural Patterns
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
- Contents
- Programming Language Design Patterns
- General Architecture
- Cloud Architecture
- Serverless Architecture
- Micro services & Distributed Systems
- Internet of things
- Big Data
- Databases
- Docker and DevOps
- Mobile
- Front-End Development
- Security
- Books
Programming Language Design Patterns
- AngularJS
- C#
- design-patterns
- design-patterns-for-human - ultra simplified explanation to design patterns.
- 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
- JavaScript
- es6 design patterns
- humans - ultra simplified explanation to design patterns.
- design-patterns
- design patterns by addy osmani
- Kotlin
- Node
- PHP
- humans - ultra simplified explanation to design patterns.
- design-patterns
- Python
- design-patterns
- PyPattyrn - A simple library for implementing common design patterns.
- React
- Ruby
- Scala
- Swift
- TypeScript
- UML
- Vue.js
- Vue Patterns - Useful Vue patterns, techniques, tips and tricks and curated helpful links.
General Architecture
- 10 common architectural patterns - 10 Common software architectural patterns in a nutshell.
- reactive design patterns - This website accompanies the book Reactive Design Patterns by Roland Kuhn.
- scalable System Design Patterns - Scalable system design techniques.
- martin fowler - Catalog of Patterns of Enterprise Application Architecture.
- system-design-primer - Design large-scale systems.
- architecting-for-reliability - Architecting for Reliability Part 1/3.
Cloud Architecture
- Cloud cost hacking - Patterns for reducing cloud costs.
- AWS cloud design patterns - The AWS Cloud Design Patterns (CDP).
- Azure cloud design patterns - Building reliable, scalable, secure applications in the cloud.
- cloud patterns - A community site dedicated to documenting a master patterns catalog.
- cloud computing patterns - Cloud Computing Patterns.
- Google Cloud Solutions - Real business cases solutions with diagrams on GCP.
Serverless Architecture
- serverless architecture - Serverless Architecture: Five Design Patterns.
- solving problems in serverless - Patterns for Solving Problems in Serverless Architectures.
- serverless patterns - serverless microservice patterns for aws.
- serverless-reference-architectures - serverless microservice patterns with deployment scripts.
Micro services & Distributed Systems
- microservice patterns - A community site dedicated to documenting a master patterns catalog.
- microservices - A pattern language for microservices.
- microservices-anti patterns - Microservices antipatterns and pitfalls.
- 12factor - The twelve-factor methodology.
- microservices-sync-vs-async - Microservices patterns, synchronous and asynchronous.
- message-queues - Comparing-message-queue-architectures.
- enterprise Integration Patterns - Patterns and Best Practices for Enterprise Integration.
Internet of things
- iot-communication-patterns - Strengths and Weaknesses of IoT Communication Patterns.
- design-patterns-for-iot - A Design Pattern Framework for IoT Architecture.
Big Data
- bigdatapatterns - A community site dedicated to documenting a master patterns catalog.
- mapreduce-patterns - Map-reduce patterns.
- streaming-realtime-analytics - 13 Stream Processing Patterns for building Streaming and Realtime Applications.
Databases
- SQL
- database tenancy patterns - Multi-tenant SaaS database tenancy patterns
- databaseanswers - Industry-specific SQL Data Models in 50 categories.
- database-programmer - Table-design-patterns.
- red-gate - five simple database design errors you should avoid.
- talend - Data model design best practices.
- sqlcheck - Anti-patterns in SQL queries.
- NOSQL
- nosql resilience patterns - Practical NoSQL resilience design pattern for the enterprise.
- nosql-patterns - Pragmatic Programming Techniques.
- mongodb - Mongodb design patterns.
Docker and DevOps
- containerspatterns - There are a Thousand Ways to Use Containers.
- container-anti-patterns - 10 containers anti-patterns.
- kubernetes - Kubernetes Production Patterns.
- container-design-patterns - Container Design Patterns for Kubernetes Pods Design.
- pattern-and-anti-pattern-cicd - Pattern and anti-pattern cicd.
- best-practices-for-shell-scripts - Best practices for shell scripts.
- kubernetes patterns - Presentation around the book kubernetes paterns.
Mobile
- IOS
- Android
- androidpatterns - Interaction patterns that can help you design Android apps.
- design-patterns-for-android - Common Design Patterns for Android.
- mvc-mvp-and-mvvm - The MVC, MVP, and MVVM Smackdown.
Front-End Development
- user Interface - User Interface Design patterns.
- oocss-acss-bem-smacss - OOCSS, ACSS, BEM, SMACSS: what are they? What should I use?
- css-protips - A collection of tips to help take your CSS skills pro.
- responsive design patterns - A collection of patterns and modules for responsive designs.
- [front-End Architecture]
- mv* - MVC/MVP/MVVM/CLEAN/VIPER/REDUX/MVI/PRNSAASPFRUICC.
- martinfowler - GUI Architectures.
Security
- opensecurityarchitecture - Security Architecture Patterns.
- martinfowler - Web-security-basics.
- cloud-security - Cloud security architecture intro.
- owasp - Security by Design Principles.
- azure-security - Azure security best practices and patterns.