[Catalyst] Choosing the right ORM

John Siracusa siracusa at mindspring.com
Thu Dec 1 16:36:41 CET 2005


On 11/29/05, Kaare Rasmussen <kaare at jasonic.dk> wrote:
>> Ideally, ORMs should be interchangeable without requiring any app code
>> changes, and without sacrificing any features.  What we need is a sort of
>> meta-ORM layer with ORM-specific "driver" layers.  Gack, it never ends...
> 
> Where will this be usefull, except when testing and choosing?

It'd be useful when making reusable, generic apps.  For example, imagine a
really nice CRUD app posted to CPAN.  While you will choose a particular ORM
for your project, someone else may choose another for theirs.  The
My::Cool::CRUD::App on CPAN should work with both of them, rather than
forcing you to choose one particular ORM if you want to build on
My::Cool::CRUD::App.  IOW, the developer should make the ORM choice.  It
should not be dictated by the frameworks or generic app base classes he
chooses to use.

> Downside would be a "Least Common Features" syndrome and a slowdown of
> development of new ideas if every ORM has compatibility as a goal.

In most cases, more sophisticated behavior can be emulated through a series
of more primitive operations.  In the rare situation where that's not the
case (although I can't think of one right now...) I don't see why things
couldn't degrade gracefully.

-John





More information about the Catalyst mailing list