this repository is only a sandbox aswell as an example tutorial, and in the event of you encountering this repository i hope you learn something new.
The design pattern originally works on pure OOP Languages, so I am trying my way around it.
├── SOLID
│ ├── dependency-inversion
│ │ └── dip.go
│ ├── interface-segregation
│ │ └── isp.go
│ ├── liskov-substitution
│ │ └── lsp.go
│ ├── open-closed
│ │ └── ocp.go
│ └── single-responsiblity
│ └── srp.go
├── adapter
│ └── adapter.go
├── bridge
│ └── bridge.go
├── builder
│ ├── builder
│ │ └── builder.go
│ ├── builder-facets
│ │ └── builder-facets.go
│ ├── builder-parameter
│ │ └── builder-parameter.go
│ └── functional-builder
│ └── functional-builder.go
├── chain-of-responsibility
│ ├── broker-chain
│ │ └── broker.go
│ └── method-chain
│ └── chain.go
├── command
│ └── command.go
├── composite
│ ├── geometric
│ │ └── geometric.go
│ └── neural-network
│ └── neural-network.go
├── decorator
│ ├── decorator
│ │ └── decorator.go
│ └── multi-aggregate
│ └── decorator.go
├── facade
│ └── facade.go
├── factories
│ ├── factories-function
│ │ └── factory-function.go
│ ├── factory-generator
│ │ └── factory-generator.go
│ ├── interface-factory
│ │ └── interface-factory.go
│ └── prototype-factory
│ └── prototype-factory.go
├── flyweight
│ ├── text-formatting
│ │ └── format.go
│ └── username
│ └── username.go
├── interpreter
│ └── lexing.go
├── iterator
│ ├── iterator
│ │ └── iterator.go
│ └── tree-traversal
│ └── tree.go
├── mediator
│ └── chat-room.go
├── memento
│ ├── memento
│ │ └── memento.go
│ └── undo-redo
│ └── undo-redo.go
├── observer
│ ├── observer
│ │ └── observer-able.go
│ ├── property-dependency
│ │ └── property-dependency.go
│ └── property-observer
│ └── property-observer.go
├── prototype
│ ├── copy-method
│ │ └── copy-method.go
│ ├── deep-copying
│ │ └── deep-copy.go
│ ├── prototype-factory
│ │ └── prototype-factory.go
│ └── serialize-copy
│ └── serialize-copy.go
├── proxy
│ ├── protection
│ │ └── protection-proxy.go
│ └── virtual-proxy
│ └── virtual-proxy.go
├── singleton
│ ├── capitals.txt
│ └── singleton.go
├── state
│ ├── classic
│ │ └── classic.go
│ ├── handmade
│ │ └── handmade.go
│ └── switch
│ └── switch-state.go
├── strategy
│ └── strategy.go
├── template-method
│ ├── functional
│ │ └── functional.go
│ └── template
│ └── template.go
└── visitor
├── classic
│ └── classic.go
├── intrusive
│ └── intrusive.go
└── reflective
└── reflective.go