Re: Object-relational impedence
Date: Sun, 16 Mar 2008 14:53:13 -0500
Message-ID: <200803161453131393-unclebob_at_objectmentorcom>
On 2008-03-14 03:46:58 -0500, David BL <davidbl_at_iinet.net.au> said:
> This has more to do with the
> impedance mismatch than with some notion of "higher level". The RM is
> suited (and only suited) to representing and querying information in
> the form of large sets of propositions, whereas OO is suited (and only
> suited) to building state machines within an abstract computational
> machine. I would hardly call a set of propositions a state machine,
> and I would hardly call a state machine a set of propositions.
> Therefore there isn't really any overlap in the purpose of OO and RM.
> Not surprisingly the best approach to build a system is often a hybrid
> of the two. The idea to directly map a tuple (or "record") to an
> object reveals confusion. A tuple is a non-scalar value representing
> an immutable fact. An object is an identifiable state machine within
> a larger abstract computational machine.
>
> The RM has a sound mathematical basis, and it's clear that the RM will
> stand the test of time. Any OO programmer who thinks it's reasonable
> to wrap RM behind an ORM doesn't understand the RM, its fundamental
> importance, the extent to which data can be decoupled from application
> and the tremendous value in doing so.
I was with you, and in violent agreement with you, until that last sentence. I think it *is* reasonable to use an ORM to adapt an RM to a specific application. This has nothing to do with which model is superior, or better, or more theoretical, or more valid, or etc. It's simply a matter of pragmatics.
-- 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 Mar 16 2008 - 20:53:13 CET