• A Exposing all internal details
  • B Combining unrelated functions
  • C Hiding internal details and exposing a well-defined interface
  • D Avoiding the use of objects