Re: OOP/OOD Philosophy



Daniel Parker wrote:
> "krasicki" <Krasicki@xxxxxxxxx> wrote in message
> news:1120611204.476214.162240@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
>
> > Look, OOD is about designing theoretical systems ...
>
> Just out of curiosity, what theory?
>
> -- Daniel

Well Daniel,

Not all systems consist of a web front end that accesses data from a
well-established database though many do.

OOD, depending on the tools and techniques you use, allows system
designers to model potential solutions in numerous ways. If this
tradeoff is made here, this benefit is forthcoming there and so on.
Design is about applying recombinant ideas to solving problems.

Systems are developed to solve problems in effective ways. Systems are
not developed for the sake of software or to gratify the provincial and
esoteric ego needs of the employees charged with getting the system
implemented.

I'll give you a good example. A Hilton was just built in Hartford and
the building went up fast to meet the deadline of the new convention
center being built next door. All federal guidelines were applied.

So come inspection day, Connecticut's inspectors applied Connecticut
building statutes to the inspection and the building failed! Now one
could say that the building was built fast, saved money, and looks real
good and boy were the builders proud of it. Let's call this process
agile.

So sixteen of the rooms were incorrectly built for handicapped access,
an error of three inches per room. Where to get three inches? Push
the rooms into the hall and the hall fails. You can see how this goes.

Another example. A Hospital builds a new wing onto an existing
structure and these days new hospital wings look like fancy hotels.
Everything is immaculate, grand fascades, fancy everything. The
hospital wing opens without a hitch.

The first bed is rolled down the hall, the elevator button is pushed,
the door opens, the bed pushed into the elevetor as far as it can go,
but the bed still doesn't fit. Wrong sized elevator.

These are true stories. Shouldn't all of the architects of these
buildings have expected change to happen as well. Same with the
builders. maybe build with everything loose so that it can be
reassembled when the next minor detail arises? Aren't we being told
this is the way things work?

Even carpenters measure before they cut. Yet, in computer science we
are being told that we should operate as though we are all alchoholics
and take things one day at a time.

Now this philosophy can work in cases where we're building cookie
cutter, intuitive stuff but you will need a lot of luck and
extraordinary follow-through to build a complex system this way.

.