An abstraction for dealing with complex archetectures where a "service" is an entity that does something specific. For example a "Facebook" service, or a local cache. This abstraction decouples the implementation of these services from the interfaces to it.