Table of Contents

Design Principle

Polymorphism Decision

Creational

Structural

Behavioral

Q: What’s the intent of the XXX pattern?

Q: How is XXX pattern implemented in Go?

Q: When should you NOT use XXX pattern?

Q: What’s the difference between XXX and YYY?

Q: Why use XXX over YYY?

TODO: A table of “Go-suitable” vs “TypeScript-suitable” patterns