Composition over Inheritance in Go: The Design Choice That Makes Microservices Boring in the Best Way (opens in new tab)
When I first moved deeper into Go, the strange part was not the syntax. The syntax is intentionally small. The strange part was the absence of something I had seen in backend codebases for years: classical inheritance. No class. No extends. No abstract base class hierarchy. No implements keyword. No parent object silently controlling the child. At first, that can look like a missing feature. After building real services with Go, especially services that had to deal with concurrency, context c...
Read the original article