Re: What databases have taught me

From: David Cressey <dcressey_at_verizon.net>
Date: Wed, 28 Jun 2006 12:11:38 GMT
Message-ID: <_luog.1571$%67.509_at_trndny02>


"Robert Martin" <unclebob_at_objectmentor.com> wrote in message news:2006062722390616807-unclebob_at_objectmentorcom...

> It is not hiearchy that drives OO, it is dependency management. It is
> the decoupling of callers from callees through the mechanisms of
> dynamic polymorhism that is the driving force behind OO design.

This is a significant point. It's worth civil discussion.

From the point of view of databases, the relational model, and its commercial implementations (however imperfect), were also about dependency management. What we are talking about here is decoupling the writers of data from the readers of the same data. Typically, the writers and the readers are separated in time, and therefore decoupled in at least one way.

But the mechanisms (if I can call them that) of physical data independence and logical data independence allow the decoupling to proceed further than it would without those mechanisms. And data independence has been the driving force behind data modeling for about 36 years.

The value of data independence tends to be lost on those who use a single application, or a suite of applications that share a common object class library to write and read data in a database. But all you have to do is try to use Crystal Reports on data that was written by a PowerBuilder application, and you begin to truly appreciate the value of data independence.

I realize the above hasn't said much of anything about dynamic polymorphism, but I wanted to lay the foundations for a rational discussion of RM (or RDM, as I prefer to call it). A rational discussion of OO and of RM might yield insights that the present discussion has not yet yielded. Received on Wed Jun 28 2006 - 14:11:38 CEST

Original text of this message