
go-gof-patterns
Builder
When construction gets a bit too complicated
Factory
Ways of controlling how an object is constructed
Factory
When it's easier to copy an existing object to fully initialize a new one
Singleton
A component which is instantiated only once
Adapter
Getting the interface you want from the interface you have
Builder
Connecting components together through abstractions
Composition
Treating individual and aggreage objects uniformly
Decorator
Adding behavior without altering the type itself
Facade
Exposing several components through a single interface
P.s. The original course is here extended with tests by me