Skip to end of metadata
Go to start of metadata

Because Naming Things is so important, using Impl as a way of saying "this class implements SomeInterface" is really very lazy.

If you think about the rules that you use for naming things in real life, at least in English, you will find that Impl grates pretty badly, and gives you no information at all about what the object actually does.

Similarly, using the I prefix for an interface adds no additional information about the thing, so is redundant, and therefore pointless.

Some examples

Interface Name

Implementing Classes

Fruit

  • Apple
  • Orange

Reader

  • FileReader
  • StreamReader

MailSender

  • SmtpMailSender
  • ProcmailMailSender
Labels: