Michael Boehm wrote: But if I call it "Position" I can not find a good name for the implementing classes ! I have read that I should not do "IPosition". Suggestions ?
hmm.. why ? suppose you named an interface as IPosition , then implementation class as Position ok. in future if you want one more implementation class then what you will name for that ?
see the java api , take an example of List . it is an interface , ArrayList,LinkedList, ... these are all implementation classes . but again that is you wish to name the interface as IPosition/Position . naming an interface with prefix *I* habit comes from c++