Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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

优秀软件与架构设计模式资源收集。包含10种常见的软件架构模式、GoF设计模式、云架构模式、微服务和分布式系统、大数据、数据库等
https://github.com/DarLiner/awesome-design-patterns

List: awesome-design-patterns

Last synced: about 1 month ago
JSON representation

优秀软件与架构设计模式资源收集。包含10种常见的软件架构模式、GoF设计模式、云架构模式、微服务和分布式系统、大数据、数据库等

Awesome Lists containing this project

README

        

# Awesome design patterns

> A curated list of software and architecture related design patterns.

[Software design pattern](https://en.wikipedia.org/wiki/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.


awesome
PRs Welcome
awesome


## Contents
- [GoF design patterns](#languageframework-design-patterns-mainly-gof)
- [General Architecture](#general-architecture)
- [Cloud Architecture](#cloud-architecture)
- [Serverless Architecture](#serverless-architecture)
- [Micro services & Distributed Systems](#micro-services--distributed-systems)
- [Internet of things](#internet-of-things)
- [Big Data](#big-data)
- [Databases](#databases)
- [Docker and DevOps](#docker-and-devops)
- [Mobile](#mobile)
- [Front End Development](#front-end-development)
- [Security](#security)
- [Books](#books)
- [Videos](#videos)
- [Miscellaneous](#miscellaneous)


## Language/Framework design patterns (mainly GoF)
- [AngularJS]
- [angularjs-in-patterns](https://github.com/mgechev/angularjs-in-patterns)
- [C#]
- [design-patterns](https://github.com/abishekaditya/DesignPatterns)
- [design-patterns-for-human](https://github.com/anupavanm/csharp-design-patterns-for-humans)
- [C++]
- [design-patterns](http://www.vincehuston.org/dp/)
- [Cat]
- [patterns for hoomans](https://github.com/mlnv/design-patterns-for-hoomans)
- [Closure]
- [design-patterns](https://arturoherrero.com/closure-design-patterns/)
- [Go]
- [design-patterns](http://tmrts.com/go-patterns/)
- [Java]
- [sourcemaking](https://sourcemaking.com/design_patterns)
- [oodesign](https://www.oodesign.com/)
- [from-gof-to-lambda](https://github.com/mariofusco/from-gof-to-lambda)
- [design-patterns](https://github.com/iluwatar/java-design-patterns)
- [effective-java](https://github.com/HugoMatilla/Effective-JAVA-Summary)
- [JavaScript]
- [es6](https://github.com/ziyasal/design-patterns-and-idioms-in-es6)
- [humans](https://github.com/sohamkamani/javascript-design-patterns-for-humans)
- [js_designpatterns](https://github.com/nnupoor/js_designpatterns)
- [addyosmani](https://addyosmani.com/resources/essentialjsdesignpatterns/book/)
- [Kotlin]
- [design-patterns](https://github.com/dbacinski/Design-Patterns-In-Kotlin)
- [gof-in-kotlin](https://github.com/lmller/gof-in-kotlin)
- [PHP]
- [humans](https://github.com/kamranahmedse/design-patterns-for-humans)
- [design-patterns](https://github.com/domnikl/DesignPatternsPHP)
- [Python]
- [design-patterns](https://github.com/faif/python-patterns)
- [PyPattyrn](https://github.com/tylerlaberge/PyPattyrn)
- [React]
- [design-patterns](http://krasimirtsonev.com/blog/article/react-js-in-design-patterns)
- [react-bits](https://github.com/vasanthk/react-bits)
- [Ruby]
- [design-patterns](https://github.com/davidgf/design-patterns-in-ruby)
- [Scala]
- [scala-design-patterns](https://github.com/josephguan/scala-design-patterns)
- [Swift]
- [design-patterns](https://github.com/ochococo/Design-Patterns-In-Swift)
- [TypeScript]
- [typescript](https://github.com/torokmark/design_patterns_in_typescript)
- [UML]
- [quick reference](http://www.mcdonaldland.info/2007/11/28/40/)
- [cheat-sheet](https://www.slideshare.net/hustwj/design-patterns-cheat-sheet)


## General Architecture
- [10 common architectural patterns](https://towardsdatascience.com/10-common-software-architectural-patterns-in-a-nutshell-a0b47a1e9013) - 10 Common software architectural patterns in a nutshell.
- [reactive design patterns](https://www.reactivedesignpatterns.com/categories.html) - This website accompanies the book Reactive Design Patterns by Roland Kuhn.
- [scalable System Design Patterns](https://dzone.com/articles/scalable-system-design) - Scalable system design techniques.
- [martin fowler](https://martinfowler.com/eaaCatalog/) - Catalog of Patterns of Enterprise Application Architecture.
- [system-design-primer](https://github.com/donnemartin/system-design-primer) - Design large-scale systems.
- [architecting-for-reliability](https://medium.com/becloudy/architecting-for-reliability-part-1-concepts-17028343089) - Architecting for Reliability Part 1/3.

## Cloud Architecture
- [AWS cloud design patterns](http://en.clouddesignpattern.org/index.php/Main_Page) - The AWS Cloud Design Patterns (CDP).
- [Azure cloud design patterns](https://docs.microsoft.com/en-us/azure/architecture/patterns/) - Building reliable, scalable, secure applications in the cloud.
- [cloud patterns](http://cloudpatterns.org/) - A community site dedicated to documenting a master patterns catalog.
- [cloud computing patterns](http://www.cloudcomputingpatterns.org/) - Cloud Computing Patterns.
- [Google Cloud Solutions](https://gcp.solutions/) - Real business cases solutions with diagrams on GCP.

## Serverless Architecture
- [serverless architecture](https://thenewstack.io/serverless-architecture-five-design-patterns/) - Serverless Architecture: Five Design Patterns.
- [solving problems in serverless](https://freecontent.manning.com/patterns-for-solving-problems-in-serverless-architectures/) - Patterns for Solving Problems in Serverless Architectures.

## Micro services & Distributed Systems
- [microservice patterns](http://microservicepatterns.org/) - A community site dedicated to documenting a master patterns catalog.
- [microservices](http://microservices.io/patterns) - A pattern language for microservices.
- [microservices-anti patterns](https://www.oreilly.com/ideas/microservices-antipatterns-and-pitfalls) - Microservices antipatterns and pitfalls.
- [12factor](https://12factor.net/) - The twelve-factor methodology.
- [microservices-sync-vs-async](https://dzone.com/articles/patterns-for-microservices-sync-vs-async) - Microservices patterns, synchronous and asynchronous.
- [message-queues](http://tech.forter.com/comparing-message-queue-architectures-on-aws/) - Comparing-message-queue-architectures.
- [enterprise Integration Patterns](http://www.enterpriseintegrationpatterns.com/patterns/messaging/toc.html) - Patterns and Best Practices for Enterprise Integration.

## Internet of things
- [iot-communication-patterns](https://dzone.com/articles/strengths-and-weaknesses-of-iot-communication-patterns) - Strengths and Weaknesses of IoT Communication Patterns.
- [design-patterns-for-iot](https://community.arm.com/iot/b/blog/posts/design-patterns-for-an-internet-of-things) - A Design Pattern Framework for IoT Architecture.

## Big Data
- [bigdatapatterns](http://bigdatapatterns.org/) - A community site dedicated to documenting a master patterns catalog.
- [mapreduce-patterns](https://highlyscalable.wordpress.com/2012/02/01/mapreduce-patterns/) - Map-reduce patterns.
- [streaming-realtime-analytics](https://iwringer.wordpress.com/2015/08/03/patterns-for-streaming-realtime-analytics/) - 13 Stream Processing Patterns for building Streaming and Realtime Applications.

## Databases
- [SQL]
- [database tenancy patterns](https://docs.microsoft.com/en-us/azure/sql-database/saas-tenancy-app-design-patterns) - Multi-tenant SaaS database tenancy patterns
- [databaseanswers](http://www.databaseanswers.org/data_models/) - Industry-specific SQL Data Models in 50 categories.
- [database-programmer](http://database-programmer.blogspot.com/2008/01/table-design-patterns.html) - Table-design-patterns.
- [red-gate](https://www.red-gate.com/simple-talk/sql/database-administration/five-simple-database-design-errors-you-should-avoid/) - five simple database design errors you should avoid.
- [talend](https://www.talend.com/blog/2017/05/05/data-model-design-best-practices-part-1/) - Data model design best practices.
- [sqlcheck](https://github.com/jarulraj/sqlcheck) - Anti-patterns in SQL queries.
- [NOSQL]
- [nosql resilience patterns](https://www.ebayinc.com/stories/blogs/tech/practical-nosql-resilience-design-pattern-for-the-enterprise/) - Practical NoSQL resilience design pattern for the enterprise.
- [nosql-patterns](https://dzone.com/articles/introduction-nosql-patterns) - Pragmatic Programming Techniques.
- [mongodb](https://dzone.com/articles/mongodb-design-patterns) - Mongodb design patterns.

## Docker and DevOps
- [containerspatterns](https://l0rd.github.io/containerspatterns) - There are a Thousand Ways to Use Containers.
- [container-anti-patterns](http://blog.arungupta.me/docker-container-anti-patterns/) - 10 containers anti-patterns.
- [kubernetes](https://github.com/gravitational/workshop/blob/master/k8sprod.md) - Kubernetes Production Patterns.
- [container-design-patterns](https://vitalflux.com/container-design-patterns-kubernetes-pods-design/) - Container Design Patterns for Kubernetes Pods Design.
- [pattern-and-anti-pattern-cicd](https://www.gronau-it-cloud-computing.de/pattern-and-anti-pattern-cicd/) - Pattern and anti-pattern cicd.
- [best-practices-for-shell-scripts](https://stackoverflow.com/questions/78497/design-patterns-or-best-practices-for-shell-scripts) - Best practices for shell scripts.

## Mobile
- [ios]
- [ios-architecture-patterns](https://medium.com/ios-os-x-development/ios-architecture-patterns-ecba4c38de52)
- [android]
- [androidpatterns](https://unitid.nl/androidpatterns/) - Interaction patterns that can help you design Android apps.
- [design-patterns-for-android](https://www.raywenderlich.com/109843/common-design-patterns-for-android) - Common Design Patterns for Android.
- [mvc-mvp-and-mvvm](https://academy.realm.io/posts/eric-maxwell-mvc-mvp-and-mvvm-on-android/) - The MVC, MVP, and MVVM Smackdown.


## Front-End Development
- [user Interface](http://ui-patterns.com/) - User Interface Design patterns.
- [oocss-acss-bem-smacss](http://clubmate.fi/oocss-acss-bem-smacss-what-are-they-what-should-i-use/) - OOCSS, ACSS, BEM, SMACSS: what are they? What should I use?
- [css-protips](https://github.com/AllThingsSmitty/css-protips) - A collection of tips to help take your CSS skills pro.
- [responsive design patterns](https://bradfrost.github.io/this-is-responsive/patterns.html#layout) - A collection of patterns and modules for responsive designs.
- [front-End Architecture]
- [mv*](https://proandroiddev.com/mvc-mvp-mvvm-clean-viper-redux-mvi-prnsaaspfruicc-building-abstractions-for-the-sake-of-building-18459ab89386) - MVC/MVP/MVVM/CLEAN/VIPER/REDUX/MVI/PRNSAASPFRUICC.
- [martinfowler](https://martinfowler.com/eaaDev/uiArchs.html) - GUI Architectures.

## Security
- [opensecurityarchitecture](http://www.opensecurityarchitecture.org/cms/library/patternlandscape) - Security Architecture Patterns.
- [martinfowler](https://www.martinfowler.com/articles/web-security-basics.html) - Web-security-basics.
- [cloud-security](https://www.infoq.com/articles/cloud-security-architecture-intro) - Cloud security architecture intro.
- [owasp](https://www.owasp.org/index.php/Security_by_Design_Principles) - Security by Design Principles.
- [azure-security](https://docs.microsoft.com/en-us/azure/security/security-best-practices-and-patterns) - Azure security best practices and patterns.

## Books
- [Django Design Patterns and Best Practices](https://arunrocks.com/static/book/django-design-patterns-best-practices-2-ed/)
- [MongoDB Applied Design Patterns](http://shop.oreilly.com/product/0636920027041.do)
- [Design-Patterns-Elements-Reusable-Object-Oriented](https://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612/ref=sr_1_4?s=books&ie=UTF8&qid=1528136036&sr=1-4&keywords=design+patterns)
- [Head-First-Design-Patterns-Brain-Friendly](https://www.amazon.com/Head-First-Design-Patterns-Brain-Friendly/dp/0596007124/ref=pd_sim_14_4)
- [Effective-Java-3rd-Joshua-Bloch](https://www.amazon.com/Effective-Java-3rd-Joshua-Bloch/dp/0134685997/ref=pd_sim_14_7)
- [Node.js Design Patterns](https://www.packtpub.com/web-development/nodejs-design-patterns-second-edition)
- [Game Programming Patterns](https://github.com/munificent/game-programming-patterns)

## Videos
- [TODO]

## Miscellaneous

## Other Awesome Lists
- Other amazingly awesome lists can be found in the [awesome](https://github.com/sindresorhus/awesome) list.

## Contributing
- Your contributions are always welcome! Please read the [contribution guidelines](contributing.md) first.

## License

[![CC0](http://mirrors.creativecommons.org/presskit/buttons/88x31/svg/cc-zero.svg)](https://creativecommons.org/publicdomain/zero/1.0/)

To the extent possible under law, [Dov Amir](https://github.com/DovAmir) has waived all copyright and related or neighboring rights to this work.