• A mental model that removes or hides complex details
  • Includes info required to accomplish a goal, leaves out info that would complicate
  • Only focus on info needed to get the job done

Information Hiding

  • When programmers eliminate the need/ability for one part of a program to access information from another part
  • Encapsulation, service boundaries, etc.
  • Design feature that gives rise to abstractions that make things easier to work with

Computer Science