A suggestion, if I may ...

Consider using the term “resolver” instead of “name service,” especially
in the names of the SPI classes and interfaces.

That would avoid confusing the service of looking up names and addresses
with the service of providing a service to look up names and addresses.
That is, the service you’re defining is a provider of name services,
i.e., a name service service.  This can lead to many annoying questions.
Is an instance of the SPI class `InetNameService` a name service, or a
name service service provider?  Why isn’t the SPI class
`InetNameServiceProvider` named `InetNameServiceServiceProvider`?

Using “resolver” would let you talk more simply about a “resolver
service,” and have clear and concise class and interface names (e.g.,
`InetResolverProvider` and `InetResolver`).

- Mark

Reply via email to