Definition of Navigational (was: The wisdom of the object mentors)

From: topmind <topmind_at_technologist.com>
Date: 22 Jun 2006 12:20:46 -0700
Message-ID: <1151004046.776633.268680_at_m73g2000cwd.googlegroups.com>


Robert Martin wrote:
> On 2006-06-20 13:05:00 -0500, mAsterdam <mAsterdam_at_vrijdag.org> said:
>
> > Robert Martin wrote:
> >> mAsterdam, parafrasing Robert Martin, said:

> > Also you said:
> > "An application will often reform data into a
> > non-relational structure that eases computation."
> >
> > In order to clearly understand what you meant by that,
> > I asked: '"non-relational" as a synonym to "navigational"
> > or did you have something else in mind?'
>
> The term "navigational" doesn't mean a lot to me. I'm thinking of
> in-memory data structures managed by the application language.

Navigational "structures" are generally considered maps that can point to other maps. In other words, networks of maps. The individual items in the maps can be attributes, functions (methods), and pointers to other maps. I believe it was you who labled objects "jump tables", which is essentially a C term for "map".

One could perhaps describe relational tuples as "maps", but in relational each map belongs to one and only one table. Navigational has no such restriction. Some consider this relaxed rule as freedom, but others like me describe it as a recepi for shanty-town-like chaos. There are no good, practical "map maths" known, so one is left navigating the swamp by hoping they don't take a wrong turn.

(I've been kicking around the compromise idea of treating "navigational space" like one big dynamic relational table so that one could still query it with predicates and the like. But it creates a lot of odd situations that I have yet to provide a solution for.)

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

-T- Received on Thu Jun 22 2006 - 21:20:46 CEST

Original text of this message