After reading http://programmers.stackexchange.com/q/75919/7167Should package names be singular or plural? it occurred to me that I've never seen a proper debate covering one of my pet peeves: naming implementations of interfaces.
Let's assume that you have a interface
Order that is intended to be implemented in a variety of ways but there is only the initial implementation when the project is first created. Do you go for
OrderImpl or some other variant to avoid the false dichotomy? And what do you do when more implementations come along?
And most important... why?