189 lines
11 KiB
Markdown
189 lines
11 KiB
Markdown
# awesome-patterns
|
|
Lists of software related patterns (work in progress)
|
|
|
|
<div align="center">
|
|
<img width="500" src="media/logo.svg" alt="Awesome">
|
|
<br>
|
|
<br>
|
|
<p>
|
|
<a href="https://en.wikipedia.org/wiki/Pattern_language">Pattern language - An attempt to express the deeper wisdom of what brings aliveness within a particular field</a>
|
|
</p>
|
|
<p>
|
|
<a href="https://en.wikipedia.org/wiki/Pattern_language">Aliveness - the quality that has no name</a>
|
|
</p>
|
|
<p>
|
|
<sup>Special thanks to:</sup>
|
|
<br>
|
|
<a href="https://github.com/wtgtybhertgeghgtwtg">
|
|
<img src="https://cdn.rawgit.com/sindresorhus/stuff/daa49fabede538ea8a533d75e7e55f4c81e3a972/sponsors/wtgtybhertgeghgtwtg-logo-light.svg" width="260" alt="wtgtybhertgeghgtwtg">
|
|
</a>
|
|
</p>
|
|
<br>
|
|
<br>
|
|
</div>
|
|
|
|
<!--
|
|
<p align="center">
|
|
<b>✨ Prelaunching the <a href="https://awesomeweekly.co">Awesome Weekly</a> newsletter! ✨</b>
|
|
<b> Vote it up on <a href="https://www.producthunt.com/posts/awesome-weekly">Product Hunt</a></b>
|
|
</p>
|
|
|
|
<br>
|
|
-->
|
|
|
|
<p align="center">
|
|
<a href="awesome.md">What is an awesome list?</a>
|
|
<a href="contributing.md">Contribution guide</a>
|
|
<a href="create-list.md">Creating a list</a>
|
|
</p>
|
|
|
|
<br>
|
|
|
|
|
|
<br>
|
|
|
|
|
|
## Contents
|
|
- [GoF design patterns](#GoF-design-patterns-(Language/Framework-specifc) )
|
|
- [General Architecture](#General-Architecture)
|
|
- [Cloud Architecture](#Cloud-Architecture)
|
|
- [Micro services & Decentralized Systems](#Micro-services-&-Decentralized-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)
|
|
- [Miscellaneous](#miscellaneous)
|
|
|
|
## GoF design patterns (Language/Framework specifc)
|
|
- [Angular]
|
|
- [angularjs-in-patterns](https://github.com/mgechev/angularjs-in-patterns)
|
|
- [Cat]
|
|
- [patterns for hoomans](https://github.com/mlnv/design-patterns-for-hoomans)
|
|
- [C#]
|
|
- [design-patterns](https://github.com/abishekaditya/DesignPatterns)
|
|
- [C++]
|
|
- [design-patterns](http://www.vincehuston.org/dp/)
|
|
- [Go]
|
|
- [design-patterns](http://tmrts.com/go-patterns/)
|
|
- [Java]
|
|
- [design-patterns](https://github.com/iluwatar/java-design-patterns)
|
|
- [from-gof-to-lambda](https://github.com/mariofusco/from-gof-to-lambda)
|
|
- [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]
|
|
- [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)
|
|
|
|
## 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.
|
|
|
|
## 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
|
|
- [serverless](https://thenewstack.io/serverless-architecture-five-design-patterns/) - Serverless Architecture: Five Design Patterns
|
|
- [serverless](https://freecontent.manning.com/patterns-for-solving-problems-in-serverless-architectures/) - Patterns for Solving Problems in Serverless Architectures
|
|
|
|
## Micro services & Decentralized 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/) - MAPREDUCE PATTERNS, ALGORITHMS, AND USE CASES
|
|
- [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.
|
|
|
|
## 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.
|
|
|
|
## Front-End Development
|
|
- [User Interface](http://ui-patterns.com/) - User Interface Design patterns.
|
|
- [smacss](https://smacss.com/) - Scalable and Modular Architecture for CSS.
|
|
- [css-protips](https://github.com/AllThingsSmitty/css-protips) - A collection of tips to help take your CSS skills pro.
|
|
- [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
|
|
- [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)
|
|
|
|
## Miscellaneous
|
|
|
|
|
|
|
|
## License
|
|
|
|
[](https://creativecommons.org/publicdomain/zero/1.0/) [](https://gitter.im/awesome-design-patterns/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
|
|
|
|