Design Pattern: Flyweight Pattern in Go

Flyweight pattern uses a shared object for multiple object generation, which has some common criteria, then populates the different properties while using that object. Using the shared object for generating multiple object output, saves resources and memory usage. This article demonstrates Flyweight pattern implementations in GoLang.

Design Pattern: Proxy Pattern in Go

Proxy pattern represents remote objects locally, this way the local object is used as a proxy of the remote object. The local one can be used in all cases where the remote object is required. The local object can also add some additional functionality/checking while referring to the remote object. This article demonstrates Proxy pattern implementations in Golang.

Design Pattern: Chain of Responsibility Pattern in Go

Chain of Responsibility pattern chains the steps of processing and performs the process step by step. So the processing does not depend on a single object, but multiple objects are responsible for the processing, which is decided on the fly while processing. This article demonstrates Chain of Responsibility pattern implementations in Golang.

Design Pattern: Observer Pattern in Go

Observer pattern is used to set up one or more notifiers/publishers, and some subscribers for those notifiers. So that the subscribers get the change info when the notifier triggers a change event. The notifiers are subscribers are decoupled from each other, so the subscriber does not need to know how many notifiers/publishers are there. This article demonstrates Observer pattern implementations in Golang.