[hibernate-dev] Redefining the API/SPI/implementation split
Emmanuel Bernard
emmanuel at hibernate.org
Mon Dec 8 09:31:13 EST 2014
> On 08 Dec 2014, at 14:34, Hardy Ferentschik <hardy at hibernate.org> wrote:
>
> On Mon, Dec 08, 2014 at 12:07:45PM +0000, Sanne Grinovero wrote:
>>> 2. The name. SearchFactoryImplementor is something which implements SearchFactory. However,
>>> one of the latest changes was to make SearchFactory a stand alone class of the orm module.
>>> SearchFactory is now only available in the orm module and has not inheritance link anymore
>>> to SearchFactoryImplementor or SearchIntegrator. This is awesome, since now we are able
>>> to evolve the engine code in the direction for "free form" entities without affecting the
>>> API for the users using Search in combination with Hibernate ORM. However, it also means
>>> that the engine module should now be agnostic of the orm module. Having a SearchFactoryImplementor
>>> in the engine module, but the SearchFactory defined in the orm module seems wrong.
>>
>> Remember this still is "the implementor" for the SearchFactory API so
>> the name is not wrong; what is wrong is the position in terms of
>> modules.
>
> How can an interface be the "implementor" of anything. It just defines an API, it does not implement
> anything. This is exactly what I am saying, it is a misnomer to start with.
It a contract of all implementors of SearchFactory, I don’t see anything wrong with the name.
More information about the hibernate-dev
mailing list