• Use case

  • Intent
    • Controlling how many instances a class has. Needed for some shared resource (e.g., a I/O: a file, db)
  • Code