alexmerren / design-patterns-go

A repository of some popular design patterns implemented in Golang

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Design Patterns in Golang

A collection of design patterns for the Go language.

Behavioural

Name Description Status
Command Pattern Encapsulate requests as objects. ✔️
Observer Pattern Extensible implementation of one-to-many relationships between objects. ✔️
Template Method Pattern Defer steps of algorithms to subclasses. ✔️
Iterator Pattern Abstract the iteration of objects. ✔️
State Pattern Allowing objects to alter behaviour when an internal state changes. ✔️

Structural

Name Description Status
Decorator Pattern Attach additional functionality to objects dynamically. ✔️
Adapter Pattern Give an object an interface that is compatible with a different system. ✔️
Facade Pattern Hide the complexities of a class behind a simple interface. ✔️
Composite Pattern Represent part-whole hierarchies through tree structures. ✔️
Proxy Pattern Control access to another object by providing a surrogate. ✔️

Creational

Name Description Status
Factory Method Pattern Let subclasses of a factory define what objects to create. ✔️
Singleton Pattern Ensure that there is only one instance of a class globally. ✔️

About

A repository of some popular design patterns implemented in Golang


Languages

Language:Go 100.0%