Skip to content

Commonly confused concepts

Status: Outline. Each entry should give the distinction, mechanism, and consequence in a few sentences.

  • Dynamic typing versus weak typing
  • Object handles versus references
  • Dependency inversion versus dependency injection
  • Container versus service locator
  • Authentication versus authorization versus tenant isolation
  • Validation versus domain invariants
  • Model versus builder versus relation versus collection
  • Event versus command versus job versus notification
  • Dispatch-after-commit versus transactional outbox
  • Concurrency versus parallelism
  • Atomicity versus idempotency
  • Cache consistency versus database consistency
  • OAuth2 versus OpenID Connect
  • Logs versus metrics versus traces