Re: Business objects, subset of collection
- From: frebe <frebe73@xxxxxxxxx>
- Date: Tue, 15 Jan 2008 01:31:58 -0800 (PST)
We have a disconnect. Your model is typical of how one uses CRUD/USER
layered model infrastructures. That sort of processing is not a good
target for OO techniques.
How do we know if an application is CRUD/USER or not? The first
version of the
application might look like CRUD/USER, but what do we do in the next
version
when we realize the this is not the case? Start from scratch again?
The developer still needs to provide a mapping, though, between those
Forms and RDB tables and queries. Typically that is done in the business
layer where one mixes classes like [Invoice] and [InvoiceCollection] and
uses relationships to enforce the inherent referential integrity rules.
That works fine for CRUD/USER processing because all the mapping is
essentially 1:1. No harm; no foul.
Isn't views a good tool for providing mappings othan than 1:1?
But mixing paradigms is usually a very bad idea from an OOA/D
perspective once one is outside the realm of CRUD/USER processing.
That's because the data structures needed to optimize the customer's
problem solution are usually not the same as those needed to optimize
data storage or display and the 1:1 mapping breaks down.
The database schema should be optimized for the customer's problem
solution.
Optimizing techniques for non-functial requirements, like
denormalization for
performance, is almost always a bad idea.
I point all this out because it reflects a major disconnect between
OOA/D and the RAD infrastructures. So far your application sounds like
classic CRUD/USER processing. In that case using the RAD paradigm and
infrastructures will probably save you a ton of keystrokes.
Indeed. One could also argue 80-90% of all business applications seem
to be CRUD/USER according to your definition.
But that
will necessarily result in different models than I would use as an OOA/D
guy when solving non-CRUD/USER problems.
Yes, because an OO model would be a network model (with pointers
between
object/records), and not a relational model.
//frebe
.
- Follow-Ups:
- Re: Business objects, subset of collection
- From: H. S. Lahman
- Re: Business objects, subset of collection
- References:
- Business objects, subset of collection
- From: jimbalo22
- Re: Business objects, subset of collection
- From: H. S. Lahman
- Re: Business objects, subset of collection
- From: jimbalo22
- Re: Business objects, subset of collection
- From: H. S. Lahman
- Business objects, subset of collection
- Prev by Date: Re: How should a container class "know" its contained objects?
- Next by Date: Re: Derived class calling overriden base class methods
- Previous by thread: Re: Business objects, subset of collection
- Next by thread: Re: Business objects, subset of collection
- Index(es):