[Catalyst] Choosing the right ORM
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.
More information about the Catalyst