Brian McCallister wrote:
* The class names of Implementations of such interfaces end in "Impl".
[ ] +1 [ ] +/- 0 [X ] -1
Use a descriptive name instead.
Think we should difference in this case.
If the interface named StatementManager and OJB shipped with one pluggable class, then StatementManagerImpl/StatementManagerDefaultImpl is descriptive enough (what will be more descriptive?). The OJB user can extend/implement his own class and can name it StatementManagerMyCompanyImpl.
On the other hand we have interfaces like ObjectCache. In this case a descriptive name is mandatory, because OJB itself shipped with several versions and the function of ObjectCache is not clear. So names like ObjectCacheReadOnlyImpl, ObjectCacheTwoLevelImpl, ... are useful.
* Abstract base classes of such implementations have their name ending in "AbstractImpl"
[ ] +1 [ ] +/- 0 [X ] -1
Would prefer BaseFoo or, even better a descriptive name, to FooAbstractImpl.
Could you give an example. What will be the descriptive name of ConnectionFactoryAbstractImpl? AbstractConnectionFactory/BaseConnectionFactory isn't more descriptive.
* If OJB ships with one concrete implementation, and the interface is meant to be an extension point for users for their own implementations (e.g. ProxyFactory), then the implementation class name ends in "DefaultImpl".
[ ] +1 [ ] +/- 0 [X ] -1
DefaultProxyFactory is way better than ProxyFactoryDefaultImpl
but then you have to look for DefaultProxyFactory JDKProxyFactory CGLibProxyFactory
if you don't know the name in advance you have to search all class names (or look for all implementations of ProxyFactory interface) to find the shipped implementation classes. If we use
ProxyFactoryDefaultImpl
ProxyFactoryJDKImpl
ProxyFactoryCGLibImpl
it's easier to "bunch" the different implementation classes.
Seems you don't like the
AInterfaceNameImpl/AInterfaceNameDefaultImpl
naming convention in general.
Is it a linguistic problem? E.g. no one would say "BallGreen" if a "green ball" was meant.
regards, Armin
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
