This naming scheme leaves something to be desired, in that mixing CamelCase and underscores is pretty ugly.  If we continue to need DBOperationImpl, I'd probably name it something like DBOperationBase and the subclasses DBOperation{Create, etc...}.   Maybe this is really subjective, but in the least case I'd like it switch to DBOperationImplCreate or something similair.