awesome-design-patterns - A curated list of software and architecture related design patterns.

  •        37

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.



Related Projects

awesome-scalability - Scalable, Available, Stable, Performant, and Intelligent System Design Patterns


An updated and curated list of readings to illustrate best practices and patterns in building scalable, available, stable, performant, and intelligent large-scale systems. Concepts are explained in the articles of prominent engineers and credible references. Case studies are taken from battle-tested systems that serve millions to billions of users. Understand your problems: scalability problem (fast for a single user but slow under heavy load) or performance problem (slow for a single user) by reviewing some design principles and checking how scalability and performance problems are solved at tech companies. The section of intelligence are created for those who work with data and machine learning at big (data) and deep (learning) scale.

Java Design Patterns - Design patterns implemented in Java

  •    Java

Design patterns are formalized best practices that the programmer can use to solve common problems when designing an application or system. Design patterns can speed up the development process by providing tested, proven development paradigms.

design-patterns-in-ruby - GoF design patterns in Ruby


Summary of the design patterns explained in the book Design Patterns in Ruby, where Russ Olsen explains and adapts to Ruby 14 of the original 23 GoF design patterns. Code examples refactoring PR's will not be considered. The examples provided by Russ Olsen in his book are meant to be simple and self explanatory, not the best performing or most elegant, their purpose is just educational.

promise-fun - Promise packages, patterns, chat, and tutorials


I intend to use this space to document my promise modules, useful promise patterns, and how to solve common problems. For now though, you can see all my promise modules below.Star this repo to show your interest, so I can know whether to prioritize this work.

ios-learning-materials - 📚Curated list of articles, web-resources, tutorials and code repositories that may help you dig a little bit deeper into iOS

  •    Swift

Last Update: 10/October/2018. Curated list of articles, web-resources, tutorials, Stack Overflow and Quora Q&A, GitHubcode repositories and useful resources that may help you dig a little bit deeper into iOS. All the resources are split into sub-categories which simlifies navigation and management. Feel free to use and suggest something to learn (iOS related of course 😜).

awesome-creative-coding - 🎨 Creative Coding: Generative Art, Data visualization, Interaction Design, Resources

  •    HTML

Carefully curated list of awesome creative coding resources primarily for beginners/intermediates. Creative coding is a different discipline than programming systems. The goal is to create something expressive instead of something functional. Interaction design, information visualization and generative art are all different types of creative coding – which has become a household term describing artworks articulated as code.

awesome-material - A curated list of Google's material design libraries for different frameworks.


A curated list of Google's material design based libraries, resources and awesome things. Other amazingly awesome lists can be found in the awesome-awesomeness list.

awesome-stock-resources - :city_sunrise: A collection of links for free stock photography, video and Illustration websites


A curated list of awesome stock photography, video and illustration websites. I try my best to maintain this repository and keep it up-to-date but if you spot a broken link or a resource which isn't listed, please, feel free to make a pull request.

angularjs-in-patterns - AngularJS in patterns - this repository provides different look into AngularJS

  •    Javascript

One of the best ways to learn something new is to see how the things you already know are used in it. This document does not intend to make its readers familiar with the design or architectural patterns; it suggests basic understanding of the concepts of the OOP, design patterns and architectural patterns. The goal of this paper is to describe how different software design and architectural patterns are applied in AngularJS or any AngularJS single-page application.The document begins with brief overview of the AngularJS framework. The overview explains the main AngularJS components - directives, filters, controllers, services, scope. The second section lists and describes different design and architectural patterns, which are implemented inside the framework. The patterns are grouped by the AngularJS component they are used in. If some patterns are used inside multiple components it will be explicitly mentioned.

Code Snippets for Design Patterns


C# Code Snippets for the Gang for Four (GOF) Design Patterns. Shortcut is "dpdesignpatternname", e.g. dpsingleton for Singleton.

motion-ui-design - Resources for inspiration, lists of software, libraries and other stuff related to Motion UI design, animations and transitions


List of all possible software that can produce UI animations separated by using technologies and result format (video, prototype, code etc) with links of must-see tutorials and plugins.

programming-principles - Categorized overview of Programming Principles & Patterns

  •    Ruby

Every programmer benefits from understanding programming principles and patterns. This overview is a reference for myself, and I've just put it here. Maybe it is of help to you during design, discussion, or review. Please note that it's far from complete, and that you often need to make trade-offs between conflicting principles. The list was inspired by The Principles of Good Programming. I felt that the list closely, but not completely matches what I would personally put into something similar. Additionally, I wanted a bit more reasoning, details, and links to further resources. Let me know if you have any feedback or suggestions for improvement.

awesome-awesome-nodejs - 🐢🚀 An Awesome list of Awesome lists related to Node.js.


A curated list of awesome lists that are about or related to Node.js. Be sure to check out the official Node.js website and the Node.js GitHub organization if you'd like to get involved. Find the original article that sparked this list on the NodeSource Blog.


  •    Go

This is a collection of common design patterns translated into Go. The goal of this repository is to help programmers coming from other language communities understand how their favorite patterns can be reused in Go. We do not intended to be restrict this to the traditional GoF Design Patterns. We hope to include any language idiom you'd like to see re-implemented in more idiomatic Go. Suggestions are welcomed. If there is a pattern you'd like to see or contribute, please file an issue.

hello-design-pattern - Hello world using all 23 kinds of GoF design patterns.

  •    Java

Hello world using all 23 kinds of GoF design patterns.

design-patterns-in-ruby - Examples from the book Design Patterns in Ruby by Russ Olsen

  •    Ruby

This book covers 14 of the original 23 GoF design patterns. Separate the things that change from the things that stay the same.

awesome-api - A curated list of awesome resources for design and implement RESTful API's.


A curated list of awesome resources for design and implement RESTful APIs. REST allows us to create services and applications that can be used by any device or client who understands HTTP.