Skip to content

Latest commit

 

History

28 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Go Patterns

A collection of design & application patterns for Go language.

Creational Patterns

Pattern Description Status
Factory Provides an interface for creating families of releated objects ✔
Abstract Factory Provides an interface for creating families of releated objects ✔
Singleton Restricts instantiation of a type to one object ✔
Builder Builds a complex object using simple objects ✔
Prototype Instantiates and maintains a group of objects instances of the same type ✔

Structural Patterns

Pattern Description Status
Adapter ✔
Bridge Decouples an interface from its implementation so that the two can vary independently ✔
Filter ✔
Composite Encapsulates and provides access to a number of different objects ✔
Decorator Adds behavior to an object, statically or dynamically ✔
Facade Uses one type as an API to a number of others ✔
Flyweight Reuses existing instances of objects with similar/identical state to minimize resource usage ✔
Proxy Provides a surrogate for an object to control it's actions ✔

Behavioral Patterns

Pattern Description Status
Chain of Responsibility Avoids coupling a sender to receiver by giving more than object a chance to handle the request ✔
Command Bundles a command and arguments to call later ✔
Interpreter interpreter ✔
Mediator Connects objects and acts as a proxy ✔
Memento Generate an opaque token that can be used to go back to a previous state ✔
Observer Provide a callback for notification of events/changes to data ✔
State Encapsulates varying behavior for the same object based on its internal state ✔
Strategy Enables an algorithm's behavior to be selected at runtime ✔
Template Defines a skeleton class which defers some methods to subclasses ✔
Visitor Separates an algorithm from an object on which it operates ✔

refer:

http://www.runoob.com/design-pattern/

About

design patterns in go,program design patterns in go

Resources

Stars

8 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages