O'Reilly logo
  • zhang xintao thinks this is interesting:

allows you to provide an object instance to a client that has a dependency on an interface that your instance does not implement