We only live once.
Abstract factory
Dependency Injection
Factory method
Lazy initialization
Singleton
Adapter, Wrapper, or Translator
Command
https://en.wikipedia.org/wiki/Software_design_pattern
Kevin Nien