Architectural patterns in Go

Implementing various architectural patterns in Go