Awesome software design patterns

Dov Amir
Cloud Computing
June 9, 2020

Awesome software 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.

The concept of design patterns started with a book about object-oriented programming called “Design Patterns: Elements of Reusable Object-Oriented Software” by the famous “gang of four” (GoF). Since then design patterns have been used to summarize knowledge in every aspect of the software lifecycle, from cloud to databases, architecture, security and many more. 

This document is a curated “list of design patterns lists”. It can help the reader find encapsulated wisdom earned by years of experience in easy to read bite-size nuggets.

Software Design Pattern


Contents


Programming Language Design Patterns

  • AngularJS
  • C#
  • C++
  • Closure
  • Go
  • Java
  • JavaScript
  • Kotlin
  • PHP
  • Python
  • React
  • Ruby
  • Scala
  • Swift
  • TypeScript
  • UML

General Architecture

Cloud Architecture

Serverless Architecture

Micro services & Distributed Systems

Internet of things

Big Data

Databases

  • SQL
  • NOSQL

Docker and DevOps

Mobile

  • IOS
  • Android

Front-End Development

  • mv* - MVC/MVP/MVVM/CLEAN/VIPER/REDUX/MVI/PRNSAASPFRUICC.
  • martinfowler - GUI Architectures.

Security

Books

Other Awesome Lists

  • Other amazingly awesome lists can be found on the awesome list.

Contributing

Suggestions for additional design pattern resources are welcome by doing a Git pull-request or contacting me.

 

Dov Amir

Cloud solution architect and SW engineer at DataRails


Keep Reading

Newsletter EuropeClouds.com

Thank you! Your submission has been received!

Oops! Something went wrong while submitting the form