Design Patterns in Go: Singleton, a unique way of creating objects in a threadsafe way
Introduction The singleton pattern restricts the instantiation of a class to a single instance. The singleton pattern makes...
Design Patterns in Go: The Command, a simple implementation of a versatile pattern
Introduction The command pattern is a behavioral design pattern. It is used by an Invoker to perform one...
Design Patterns in Go: Facade, hiding a complex world
Introduction The facade pattern is used as a way to hide more complex logic. A facade can do...
Design Patterns in Go: Interpreter, making sense of the world.
Introduction The Interpreter pattern can be used to interpret and evaluate sentences in a language. The idea is...
Design Patterns in Go: Mediator, uncoupling objects made easy
Introduction The mediator pattern is a pattern used when you want to simplify communication i.e. message dispatching in...
Design Patterns in Go: Memento or how to undo actions.
Introduction The memento pattern can be used to (partially) expose the internal state of an object. One use...
Design Patterns in Go: State
Introduction The state pattern is a behavourial state pattern, which allows an object to change its behaviour when...
Design Patterns in Go: An easy way of implementing the Template
Introduction The template method pattern is a behavourial design pattern which allows you to define the template, or...
Design Patterns in Go: Strategy
Introduction The strategy pattern is a behavorial design pattern that allows you to define a family of algorithms,...
Design Patterns in Go: Prototype
Introduction The prototype-pattern is a creational design pattern that allows us to create new objects by cloning existing...