Thanks for response Trustin. I wrote a tiny inside the quote. On 10/13/05, Trustin Lee <[EMAIL PROTECTED]> wrote: > 2005/10/13, Ersin Er <[EMAIL PROTECTED]>: > > It seems that we do not have a consistent naming convention for > > interfaces and their implementor classes. For example, when the > > interface is named Foo, we may have implementor classes named like > > FooImpl, BaseFoo, DefaultFoo, etc. > > > > Which one do you think is correct (or makes sense the most)? > > There are a few names I like: AbstractFoo, BaseFoo, or ConcreteNameFoo > > * AbstractFoo - it is an abstract class which provides some common > implementation. > * BaseFoo - it is similar to AbstractFoo but it is not abstract at all, but > expecting somebody to extend it. > * ConcreteNamefoo (e.g. ArrayList implements List) - it is always a good > idea to give it the most concrete name. > > I don't like DefaultFoo much because 'Default' sounds a little bit weird. I > use Default when I cannot find any good concrete name.
Maybe, we do not need an interface if we cannot find a good concrete name? > I prefer DefaultFoo > to FooImpl on the other hand because 'Impl' makes me feel that I'm dealing > with low-level stuff. (This is just a personal feeling! ;) > > Cheers, > Trustin > -- > what we call human nature is actually human habit > -- > http://gleamynode.net/ -- Ersin
