A name is used to reference and lookup services and environment properties.

A name functions much like a domain namespace – it consists of a sequence of name parts delimited by a ‘.’ when encoded as a fully qualified string.

The name interface has a number of functions including:

  • comparing a name with another name
  • iterating over the name parts of a name
  • returning the name prefix of a name
  • returning the name part value of a name
  • creating names that extend the name

Because names are created by a provider they can be initialized once and reused across multiple contexts and environments.