Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/shubhamzanwar/design-patterns

common creational, behavioural and structural patterns implemented in go 🤩
https://github.com/shubhamzanwar/design-patterns

design-patterns designpatterns go go-lang learning portfolio software-development software-engineering

Last synced: 3 months ago
JSON representation

common creational, behavioural and structural patterns implemented in go 🤩

Awesome Lists containing this project

README

        

# Design Patterns 🚀🧩

[![Mentioned in Awesome Go](https://awesome.re/mentioned-badge-flat.svg)](https://github.com/avelino/awesome-go)

Design Patterns are ways of solving different problems we face while designing software solutions. Having too many if/else conditions? Need to implement multiple ways of initializing objects? Writing too many parsers? There's probably a design pattern to help you structure your code elegantly!

An important thing to note though, is that design patterns are but a set of blueprints/recommendations. They are not exact solutions to problems. Rather, they are a concepts/conventions to follow in your code.

In this repository, I have curated a list of design patterns that may help you in your projects!

> These patterns are implemented in go. However, with each pattern, I have included a readme file containing the detailed description of the pattern. Hence, you should comfortably be able to implement this in any coding language 🤘🏽

### Contents

1. [Factory pattern](./1-factory)
2. [Abstract Factory pattern](./2-abstract-factory)
3. [Builder Pattern](./3-builder)
4. [Adapter Pattern](./4-adapter)
5. [Bridge Pattern](./5-bridge)
6. [Decorator Pattern](./6-decorator)
7. [Facade Pattern](./7-facade)
8. [Flyweight Pattern](./8-flyweight)
9. [Chain of responsibility](./9-chain-of-responsibility)

wip