I find myself being confused by terms such as Business Object, Domain
Object, POJO and Data Object. In many instances they all mean the same
thing, right? Certainly the last three are all the same thing, I think.
I am struggling with this rather convoluted definition of a Business
Object, which needs to be simplified and perhaps split into two
definitions - perhaps a 'Calculated Object' and a 'Business Object':
http://www.strandz.org/glossary.html#BusinessObject
Is there a term that exists for essentially a Domain Object that itself
is not persisted? We already have the term Calculated Field for fields
on Domain Objects that are derived from persistent fields. So what about
where you have whole Domain Objects where all of the fields are derived?
I have seen the word 'Presentor' used in code for these things - but
that tends to suggest that the object is to be displayed (and actually
only needed to be written because JGoodies binding does not support the
notion of lookups http://www.strandz.org/glossary.html#Lookup).
I am now wanting to think of a Business Object as one that manipulates
many Domain Objects (of different classes and both varieties; Calculated
and Persistent Capable), holding session state for the current user. Hmm
- a problem I see is that this definition does not strictly preclude a
Calculated Object. The thing that splits them apart perhaps is that a
Calculated Object would sometimes be bound and displayed in the
Presentation Layer, whereas a Business Object never would be - its
methods provide services to the client.
Another difference I would say is that Business Objects exist only on
the client during a user session whereas Calculated Objects can exist on
the client or server and function as DTOs.
Any help with these definitions would be great!
Chris Murphy