Re: Mixing OO and DB

From: topmind <topmind_at_technologist.com>
Date: Thu, 6 Mar 2008 13:37:56 -0800 (PST)
Message-ID: <bd1ddd2c-0ce1-4013-a16f-9e88d014188a_at_i29g2000prf.googlegroups.com>


Robert Martin wrote:
> On 2008-03-04 17:06:57 -0600, topmind <topmind_at_technologist.com> said:
>
> >
> >
> > Robert Martin wrote:
> >> What you are missing is that there is
> >> no restriction that other objects use the data from the employee_table.
> >> So while a class certainly defines the methods that can be used to
> >> access and manipulate the data within that class, there can be many
> >> different classes that use the same data in very different ways.
> >
> > In other words, each class becomes a little roll-your-own database
> > with a very custom interface.
>
> Each small group of classes becomes a little roll-your-own data access
> and manipulation scheme that is perfectly tuned for it's very specific
> purpose.

Which is over-kill for the task-level. Often one ends up only instantiating stuff once, for example. If you do that, you might as well use procedural to avoid bloated code.

>
> > RDBMS instead factor common collection-
> > handling and attribute-management idioms into a central tool.
>
> Granted. Very useful.

Then why wouldn't you want that in OOP also? Answer: because you'd have to rethink encapsulation and also face the same problems that prompted Dr. Codd to formulate relational.

>
> > OO does
> > not, making it primitive and tedious.
>
> Balderdash. Programmers organize the data they extract from the
> database into forms that are more convenient for the particular
> processing they need to do.

Our techniques for measuring "more convenient" apparently are very different. Either one of us is way off (or both?), or they are subjective personal preferences.

>
> > RDBMS are a huge form of reuse of concepts.
>
> Granted.
>
> > OO is shanty-town design versus modern civil planning.
>
> Stupid sloganeering with no substance behind it.

Is your sloganeering also "stupid"? Like calling 5-line methods/ functions "professional" and longer ones "unprofessional" without objective justification?

>
> > If
> > one learns to leverage those idioms provided by the DB, then the code
> > is simpler because it doesn't have to reinvent them.
>
> That sentence is true. It is also true if you replace the phrase "the
> DB" with the word OO.

Show me how. I opened my wallet, purchased your book, and found it wanting and produced a much simpler and flexible payroll example. For free even. Unlike you, I don't charge for personal subjective opinions.

>
> --
> Robert C. Martin (Uncle Bob)��| email: unclebob_at_objectmentor.com
> Object Mentor Inc.� � � � � ��| blog:��www.butunclebob.com

-T- Received on Thu Mar 06 2008 - 22:37:56 CET

Original text of this message