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: 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: Facade Pattern in Go

Facade pattern adds a new layer on top of any complex subsystem. That way the client does not need to know all the complexity while using the implementation. Facade not necessarily covers all the functionality of the subsystems, only the required functionalities are covered. This article demonstrates Facade pattern implementations in GoLang.