Re: Clean Object Class Design -- What is it?
Date: Sat, 21 Jul 2001 23:34:11 GMT
Message-ID: <9i5shf$s07$0_at_pita.alt.net>
"Mikito Harakiri" <nospam_at_newsranger.com> wrote ...
> > The question is, if the data is globally accessible
> > via a given API from a central location, through an OOP-style remote
call
> > interface, then why is this a bad thing?
>
> Because making calls through APIs -- object or not -- is inferior to
quering.
> You are essentially limited by the design what API developers thought the
access
> path to the database might be. Every time you need to do something that
they
> didn't envision, you have to beg them with enhancement request.
Certainly, there are some limitations... for example, you really have to get back objects, or even entire object graphs, from the query, rather than a few discretely chosen columns here and there. However, these are the limitations that get enforced anyway, merely from the fact that access to the data is done in an object-oriented manner.
Now, I'm not claiming that these kinds of products are appropriate for highly mathematical or statistical analysis applications, where the flexibility of SQL as a query language can actually help. I'm saying that when working in a business application setting, using an OO programming model anyway, there's no real gain from the relational database except as a back end to an object store. I've worked in both models, and have never had problems with the object store-based software having "esotric update anomalies" (which I wish Bob had explained more before he degenerated into insults).
> Object Oriented programming is easier to learn, because there is no
substance to
> it.
Yet, in my experience, both are sufficient to solve the problems at hand in business-level programming. The difficult problems, in *both* class modeling and relational database modeling, pertain to identifying the exact business requirements and components and rules. If relational database models make things easier, the things they make easier haven't been the things that have bothered me... and I've failed to notice. So it makes sense, to me, to do just one and let that imply the other. That's exactly the idea behind an ODBMS, or an object-relational mapping such as the one I mentioned to Bob, or perhaps EJB's CMP technology, or some other kind of direct object data store that doesn't require explicitly coding a mapping between the two.
Chris Smith Received on Sun Jul 22 2001 - 01:34:11 CEST