Re: The wisdom of the object mentors (Was: Searching OO Associations with RDBMS Persistence Models)

From: topmind <>
Date: 16 Jun 2006 13:40:23 -0700
Message-ID: <>

Robert Martin wrote:
> On 2006-06-01 12:56:01 +0200, said:
> > The big questing is: Why do you want to unplug the SQL DBMS?
> I don't. Just like I don't want to disconnect my engine from my car.
> However, I want the car designed such that the engine can be
> disconnected.
> I don't want to replace the DB, I just want it to be replaceable. This
> just makes for good modularity, and good testability. I do not want to
> sacrifice any of the power of the DB, I just want to place the code
> that uses that power in a place that the rest of the application is not
> directly aware of.

Indirection is NOT free.

Having "official" interfaces between everything in the app can make for bloated, verbose code that is time-consuming to maintain. I consider RDBMS to be a *paradigm* and a key tool, not merely "an external service". Object wrappers over the DB often just waste code on translating from one paradigm to another rather than add real value.

And like I described elsewhere, I feel that if one did a good cost/benefit analysis, wrapping heavily would cost more under typical circumstances. Languages tend to change more often than databases.

Thus how about this: I want to be able to swap out OOP if a new app fad comes along to replace OOP. Can you deliver such swappability? I didn't think so.

> --
> Robert C. Martin (Uncle Bob) | email:

-T- Received on Fri Jun 16 2006 - 22:40:23 CEST

Original text of this message