Re: Bob's 'Self-aggrandizing ignorant' Count: Was: What databases have taught me

From: topmind <topmind_at_technologist.com>
Date: 1 Jul 2006 23:43:59 -0700
Message-ID: <1151822639.520115.73460_at_h44g2000cwa.googlegroups.com>


Robert Martin wrote:

> What OO *really* is, is a technique for managing the interdependencies
> between modules through the use of dynamic polymorphism.
>
> For those of you who want a definition of dynamic polymorphism, it is
> the use of vector tables to connect callers with the functions that
> they are calling.
>
> So, what makes OO different from procedural code is that the little
> state machines are interconnected through the use of jump tables
> instead of direct calls.

Table Oriented Programming returns! (Hence the name TOPmind)

Actually when I've tried that kind of thing with code in relational tables, it does not work very well that often. The reasons tend to be the association between nouns and actions is *weak* in practice and such "lump" associations are artificial.

We could add more indirection by using many-to-many tables instead, but the simplicity goes away such that we might as well use regular subroutines instead.

It is another case of OO assuming unnatural structures or change patterns that I just plain don't see often enough in the real world. OO is great on paper, but the real world uses different givens than those on OO paper.

>
> --
> Robert C. Martin (Uncle Bob) | email: unclebob_at_objectmentor.com

-T- Received on Sun Jul 02 2006 - 08:43:59 CEST

Original text of this message