• Make it easy to switch between implementations by defining an [[Interface]] and requiring all implementations to adhere to it.
  • Examples
    • Node.js Zlib The ability to switch between compression algorithms.