Skip to content

Instantly share code, notes, and snippets.

@squeedee
Created October 4, 2010 06:28
Show Gist options
  • Save squeedee/609307 to your computer and use it in GitHub Desktop.
Save squeedee/609307 to your computer and use it in GitHub Desktop.

Interfaces and Implementations

These are sometimes a special case for encodings. For example, say you are building an ABSTRACT FACTORY for the creation of shapes. This factory will be an interface and will be implemented by a concrete class. What should you name them? IShapeFactory and ShapeFactory? I prefer to leave interfaces unadorned. The preceding I, so common in today’s legacy wads, is a distraction at best and too much information at worst. I don’t want my users knowing that I’m handing them an interface. I just want them to know that it’s a ShapeFactory. So if I must encode either the interface or the implementation, I choose the implementation. Calling it ShapeFactoryImp, or even the hideous CShapeFactory, is preferable to encoding the interface.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment