Using complex systems through simple interfaces without worrying about internal implementation details.