ORM eller inte ORM det är frågan

Technorati-taggar: ,,

Jag har under en längre tid varit ganska intresserad av att använda en ORM produkt när jag utvecklar applikationer. Tyvärr har jag ännu inte tagit mig tid att sätta mig in i någon produkt och använt den i något projekt. Jag lockas dock mer och mer av idén ju mer jag jobbar med rika domän modeller. Databasen känns liksom endast som ett sätt att persistera mina objekt och inte längre som kärnan i applikationen. Detta har bara förstärkts efterhand som jag skriver mer och mer unittester. Jag jobbar ännu inte test-first men försöker skriva så mycket tester som möjligt i direkt samband med att jag skriver koden

Jag har dessutom aldrig har haft något större intresse av SQL. Det har oftast fallit mig mer naturligt att lägga mer av affärslogiken i kod än i SP, triggers m.m.

Jag har inte riktigt kännt mig 100% på att använda open source produkter som nHibernate och de kommersiella produkterna har oftast inte varit i den prisklass att mina kunder har varit intresserade. Men nu när Microsoft jobbar med sitt Entity Framework så kan det bli enklare att motivera för kunderna.

Även om jag tycker att Entity Framework i version 1 inte är vad jag söker eftersom affärsobjekten måste implementera diverse interface som binder dom till infrastrukturen, så tror jag att det kan vara en bra början för applikationer som idag är hårt kopplade till databasen. Sk. "Form over data" applikationer tror jag skulle passa utmärkt för att använda Entity Framework v1.

För applikationer med mer rika domän modeller så skulle jag nog välja nHibernate eller vänta på version 2 av Entity Framework.

Jag tror att det har blivit dags för mig att försöka använda en ORM lösning i något av mina kommande projekt under hösten för att prova om det funkar i praktiken för mig.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s