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

From: Robert Martin <unclebob_at_objectmentor.com>
Date: Thu, 1 Jun 2006 18:03:39 -0500
Message-ID: <2006060118033980979-unclebob_at_objectmentorcom>


On 2006-05-31 13:03:21 -0500, "Marshall" <marshall.spight_at_gmail.com> said:

> A common misconception among application programmers
> is that their technique of managing integrity with hand written
> code protected by object encapsulation is the equal of
> a centrally managed declarative integrity constraint, and
> that it's merely six of one, half dozen of the other.

Can you cite a source for this other than your own opinion?

> In fact, the reality is that the declarative integrity constraint
> is at a higher level of abstraction, and is at a much lower
> cost to produce and maintain, and at a much lower risk
> for error, than the hand-written code.

I quite agree that a DBMS provides a certain level of security and integrity at a reasonable cost. That security is not perfect, and the integrity can be corrupted given sufficient effort and knowledge (or carelessness); but it remains true.

However, the data cannot remain in the DBMS for its entire lifetime. The RNA has to leave the nucleus and get out into the cytolasm to do it's work. And out there in the cytoplasm the integrity of the data is no longer the responsibility of the DBMS.

So applications have an equal responsibility to maintain the integrity and security of the data while they control that data.

But this is a side issue. The issue that started this feeding frenzy of self-contratulatory ad-hominem arguments was the notion that the design of application programs should be so strongly decoupled from the DBMS as to afford the replacement of the DBMS with a completely different technology.

-- 
Robert C. Martin (Uncle Bob)  | email: unclebob_at_objectmentor.com
Object Mentor Inc.            | blog:  www.butunclebob.com
The Agile Transition Experts  | web:   www.objectmentor.com
800-338-6716                  |
Received on Fri Jun 02 2006 - 01:03:39 CEST

Original text of this message