├── .gitignore ├── LICENSE ├── README.md ├── behavioral ├── chain_of_responsibility │ ├── README.md │ └── main.go ├── command │ ├── README.md │ └── main.go ├── interpreter │ ├── README.md │ └── main.go ├── iterator │ ├── README.md │ └── main.go ├── mediator │ ├── README.md │ └── main.go ├── memento │ ├── README.md │ └── main.go ├── observer │ ├── README.md │ └── main.go ├── state │ ├── README.md │ └── main.go ├── strategy │ ├── README.md │ └── main.go ├── template │ ├── README.md │ └── main.go └── visitor │ ├── README.md │ └── main.go ├── creational ├── abstract_factory │ ├── README.md │ └── main.go ├── builder │ ├── README.md │ └── main.go ├── factory │ ├── README.md │ ├── log.txt │ └── main.go ├── prototype │ ├── README.md │ └── main.go └── singleton │ ├── README.md │ └── main.go ├── go.mod ├── go.sum ├── other ├── data_access_object │ ├── README.md │ └── main.go ├── dependency_injection │ ├── README.md │ ├── article.txt │ └── main.go ├── repository │ ├── README.md │ └── main.go └── service_locator │ ├── README.md │ └── main.go └── structural ├── adapter ├── README.md └── main.go ├── bridge ├── README.md └── main.go ├── composite ├── README.md └── main.go ├── decorator ├── README.md └── main.go ├── facade ├── README.md └── main.go ├── flyweight ├── README.md └── main.go └── proxy ├── README.md └── main.go /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/README.md -------------------------------------------------------------------------------- /behavioral/chain_of_responsibility/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/behavioral/chain_of_responsibility/README.md -------------------------------------------------------------------------------- /behavioral/chain_of_responsibility/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/behavioral/chain_of_responsibility/main.go -------------------------------------------------------------------------------- /behavioral/command/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/behavioral/command/README.md -------------------------------------------------------------------------------- /behavioral/command/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/behavioral/command/main.go -------------------------------------------------------------------------------- /behavioral/interpreter/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/behavioral/interpreter/README.md -------------------------------------------------------------------------------- /behavioral/interpreter/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/behavioral/interpreter/main.go -------------------------------------------------------------------------------- /behavioral/iterator/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/behavioral/iterator/README.md -------------------------------------------------------------------------------- /behavioral/iterator/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/behavioral/iterator/main.go -------------------------------------------------------------------------------- /behavioral/mediator/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/behavioral/mediator/README.md -------------------------------------------------------------------------------- /behavioral/mediator/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/behavioral/mediator/main.go -------------------------------------------------------------------------------- /behavioral/memento/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/behavioral/memento/README.md -------------------------------------------------------------------------------- /behavioral/memento/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/behavioral/memento/main.go -------------------------------------------------------------------------------- /behavioral/observer/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/behavioral/observer/README.md -------------------------------------------------------------------------------- /behavioral/observer/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/behavioral/observer/main.go -------------------------------------------------------------------------------- /behavioral/state/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/behavioral/state/README.md -------------------------------------------------------------------------------- /behavioral/state/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/behavioral/state/main.go -------------------------------------------------------------------------------- /behavioral/strategy/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/behavioral/strategy/README.md -------------------------------------------------------------------------------- /behavioral/strategy/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/behavioral/strategy/main.go -------------------------------------------------------------------------------- /behavioral/template/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/behavioral/template/README.md -------------------------------------------------------------------------------- /behavioral/template/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/behavioral/template/main.go -------------------------------------------------------------------------------- /behavioral/visitor/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/behavioral/visitor/README.md -------------------------------------------------------------------------------- /behavioral/visitor/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/behavioral/visitor/main.go -------------------------------------------------------------------------------- /creational/abstract_factory/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/creational/abstract_factory/README.md -------------------------------------------------------------------------------- /creational/abstract_factory/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/creational/abstract_factory/main.go -------------------------------------------------------------------------------- /creational/builder/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/creational/builder/README.md -------------------------------------------------------------------------------- /creational/builder/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/creational/builder/main.go -------------------------------------------------------------------------------- /creational/factory/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/creational/factory/README.md -------------------------------------------------------------------------------- /creational/factory/log.txt: -------------------------------------------------------------------------------- 1 | Hello from file logger! 2 | -------------------------------------------------------------------------------- /creational/factory/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/creational/factory/main.go -------------------------------------------------------------------------------- /creational/prototype/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/creational/prototype/README.md -------------------------------------------------------------------------------- /creational/prototype/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/creational/prototype/main.go -------------------------------------------------------------------------------- /creational/singleton/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/creational/singleton/README.md -------------------------------------------------------------------------------- /creational/singleton/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/creational/singleton/main.go -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /other/data_access_object/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/other/data_access_object/README.md -------------------------------------------------------------------------------- /other/data_access_object/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/other/data_access_object/main.go -------------------------------------------------------------------------------- /other/dependency_injection/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/other/dependency_injection/README.md -------------------------------------------------------------------------------- /other/dependency_injection/article.txt: -------------------------------------------------------------------------------- 1 | Article to file -------------------------------------------------------------------------------- /other/dependency_injection/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/other/dependency_injection/main.go -------------------------------------------------------------------------------- /other/repository/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/other/repository/README.md -------------------------------------------------------------------------------- /other/repository/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/other/repository/main.go -------------------------------------------------------------------------------- /other/service_locator/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/other/service_locator/README.md -------------------------------------------------------------------------------- /other/service_locator/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/other/service_locator/main.go -------------------------------------------------------------------------------- /structural/adapter/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/structural/adapter/README.md -------------------------------------------------------------------------------- /structural/adapter/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/structural/adapter/main.go -------------------------------------------------------------------------------- /structural/bridge/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/structural/bridge/README.md -------------------------------------------------------------------------------- /structural/bridge/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/structural/bridge/main.go -------------------------------------------------------------------------------- /structural/composite/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/structural/composite/README.md -------------------------------------------------------------------------------- /structural/composite/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/structural/composite/main.go -------------------------------------------------------------------------------- /structural/decorator/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/structural/decorator/README.md -------------------------------------------------------------------------------- /structural/decorator/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/structural/decorator/main.go -------------------------------------------------------------------------------- /structural/facade/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/structural/facade/README.md -------------------------------------------------------------------------------- /structural/facade/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/structural/facade/main.go -------------------------------------------------------------------------------- /structural/flyweight/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/structural/flyweight/README.md -------------------------------------------------------------------------------- /structural/flyweight/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/structural/flyweight/main.go -------------------------------------------------------------------------------- /structural/proxy/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/structural/proxy/README.md -------------------------------------------------------------------------------- /structural/proxy/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leo-aa88/design-patterns-in-go/HEAD/structural/proxy/main.go --------------------------------------------------------------------------------