Re: Mixing OO and DB
Date: Wed, 05 Mar 2008 14:33:36 GMT
Message-ID: <4byzj.3719$x93.1108_at_trndny03>
"Robert Martin" <unclebob_at_objectmentor.com> wrote in message
news:2008030416323223810-unclebob_at_objectmentorcom...
> On 2008-03-03 06:50:39 -0600, "David Cressey" <cressey73_at_verizon.net>
said:
>
> > In my original perspective, the single thing that ties together all the
> > applications and all the databases that collaborate by sharing data is
just
> > one thing: data. If you understand the data, and you understand the
> > (observable) behavior of each of the applications and each of the
databases,
> > you can understand the system. Otherwise, you can't understand the
system.
>
> First of all, I'd like to thank you for that. It was very well done,
> and I found it educational.
>
> Niklaus Wirth once wrote a book entitled: "Algorithms + Data Structures
> = Programs". I think that title should be taken seriously.
>
Agreed.
> I completely agree that you cannot understand a system unless you
All this leads me to claim that data is more fundamental than behavior. Not
more valid. Just more fundamental. You can have systems that have data but
no behavior. You can't have systems that have behavior but no data. At
least not the kind of systems you and I are discussing.
> It seems to me that some folks in these forums think that one point of
> intimately understand the data. By the same token you cannot
> understand a system unless you intimately understand what it does with
> that data. Data and behavior are perspectives, but not ends in and of
> themselves. You can look at a system from a data point of view, but
> you can't escape the need to understand the required behaviors of that
> system. By the same token you can look at a system from a behavior
> point of view, but you can't escape the need to understand the data.
>
It depends. For centuries, humanity had systems that captured data, and
made it available to other people. Systems that automatically transform
data are a more recent invention. Even a tool like Napier's bones or like
the abacus doesn't transform data automatically. It enables an operator to
transform data more expeditiously. Programmable systems are a more recent
phenomenon.
> view is more valid than the other. That's absurd. There is no truly
> favored point of view. Both need to be taken very seriously.
>
As I said in my earlier comment, it's a matter of perspective.
> However, when writing application code is often advantageous to take a
> behavioral perspective. By the same token, when designing queries and
> modeling enterprises it helps to take a data point of view.
> --