Re: Mixing OO and DB

From: Patrick May <pjm_at_spe.com>
Date: Tue, 12 Feb 2008 12:57:56 -0500
Message-ID: <m2lk5qm50b.fsf_at_spe.com>


"David Cressey" <cressey73_at_verizon.net> writes:
> "Patrick May" <pjm_at_spe.com> wrote in message news:m24pce1izn.fsf_at_spe.com...

>> "David Cressey" <cressey73_at_verizon.net> writes:
>> > "Robert Martin" <unclebob_at_objectmentor.com> wrote:
>> >> Tables expose data and have no behavior.  Objects hide data and
>> >> expose behavior.
>> >
>> > I have a different understanding.
>> >
>> > Objects do not always hide data.  Specifically, they pass

> messages to each > > other in the form of data.
>>
>>      Some messages may contain data, but many do not.  Consider
>> this, for example:
>>
>>   Thread someThread = new SomeThreadImplementation();
>>   someThread.run();
>>
>> Unless you're considering the name of the class and/or the name of
>> the method to be data, the message is solely about behavior.
>

> The stuff that's being passed from one side of the assignment to the
> other is data.
> What else would it be?

     The assignment is of a class instance to a variable. That's certainly a form of data. I'm referring to the invocation of the run() method. No data is passed explicitly there. Ultimately data is passed around in registers to pass control to the appropriate memory location, but I didn't have the impression that you were referring to that.

>> > Going further, objects do not "see" the behavior of other
>> > objects.  What they see is the data, written into messages, that
>> > is the result of behavior.
>>
>>      Objects can invoke the behaviors of other objects without
>> needing to monitor for any results.
>

> I didn't say anything about what they need to monitor or don't need
> to monitor. I only stated what they see and what they do not see.
> All they see is data.

     My point is that a particular object may be completely uninterested in seeing anything. It just invokes a behavior and continues on its way.

>> > One could do a data centric analysis of an object world, by
>> > analyzing the data passed among the objects in that world.
>>
>>      That would miss a great deal of information in a
>> behavior-centric system.
>

> How does one express information without using data?

     How does one obtain data that is encapsulated in objects only by examining the "data passed among the objects"?

Regards,

Patrick



S P Engineering, Inc. | Large scale, mission-critical, distributed OO
                       | systems design and implementation.
          pjm_at_spe.com  | (C++, Java, Common Lisp, Jini, middleware, SOA)
Received on Tue Feb 12 2008 - 18:57:56 CET

Original text of this message