Re: OT fallacies

From: Robert Martin <unclebob_at_objectmentor.com>
Date: Sun, 11 Jun 2006 18:43:53 +0200
Message-ID: <200606111843537987-unclebob_at_objectmentorcom>


On 2006-06-05 15:46:08 +0200, "David Cressey" <dcressey_at_verizon.net> said:

> As for me, I've seen a number of cases where OO and RDB did NOT coexist
> very nicely, so the claim that they CAN coexist very nicely carries some
> element of surprise for me. I'm skeptical, but I'm not about to dsimiss it
> as ignorant.

Ah! An argument that's not about arguments! Wonderful!

IMHO the key to understanding how RDBs and OO coexist nicely together is to realize that they are two completely different beasts that are trying to solve two unrelated problems. The two don't play nicely together when designers try to use them for the same things. They get into territory disputes. (On wonders if the angst between the two crossposted newsgroups is not, in fact, a result of just that misplaced territorial battle).

OO is about structuring behavior. RM is about structuring data. Now before everybody leaps all over me and accuses my grandfather of impregnating goats, let me say that I realize that data and behavior are not absolutely separate. Data is organized to support certain behaviors, and behaviors must be organized around data.

Be that as it may, behavior has a structure that is very different from data. The motivations for partitioning behavior are different from the motivations for partitioning data.

The issues of integrity, regularity, and expression are powerful motivations behind RM. (Yes, my uncle ate puppies and I am an ignoramus of ignoramuses.) By the same token issues of dependency management, rigidity, fragility, and reuse are strong motivations behind OO.

OO systems that play well with RDBs are systems that keep the two domains separate. They don't let the objects get into the RM, and they don't let the RM get into the objects. Fences make good neighbors, and in this case a solid fence between the two domains really helps the two collaborate.

-- 
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 Sun Jun 11 2006 - 18:43:53 CEST

Original text of this message