in reply to polymorphic data-driven rendering?
It'll probably comes as no surprise that I am very skeptical of the benefits of trying to over generalise in this way. I'll try to make my case for why.
By analogy. It could be postulated that the steering wheels on cars; the handlebars on a (motor)bikes; the control columns on commercial aircraft; the joysticks on military jets; the tillers on small boats; even the rains on horses and horse-drawn carriages; all serve the same purpose and could be replaced with a single control.
It is probably technically feasible to attach servos to the bit in a horses mouth and have the rider use a joystick to steer, but it is probably overkill.
Conversely, I'm not sure I'd want to fly in a 777 if the pilot used a pair of leather straps or big tiller to steer it.
Whilst that analogy is jokey, don't take it for a joke. Perhaps the single hardest element of modern software design to get right is the abstraction. And by far the biggest mistake in recent years is over abstraction. It is far too easy to get carried away with finding abstract similarities between things that have no business being conflated.
By example. A few years ago, I worked on the periphery of an MIS system for a large retail chain. This system was heavily OO layered over an RDBMS. Within it, everybody--personnel, suppliers, customers et al.--were instances of a Person class. Which mapped to one large primary table in the DB with lots of specialisations (FKs) hanging off of it. The problems came when trying to control access to it. Which came to a head when a minor programming error lead to sensitive information about customers being sent out to a supplier.
Putting all your data in one place may sound like a great idea from the data warehousing/analysis perspective, but security-aware organisations use compartmentalisation for very good reasons. It may lead to apparent redundancies, but it also leads to "redundant" layers of security, which you'll be very glad of when one of the layers is breached.
Do not let theoretical principles override pragmatism and practicality without serious consideration on a case by case basis.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: polymorphic data-driven rendering?
by ELISHEVA (Prior) on Mar 30, 2009 at 09:18 UTC | |
by BrowserUk (Patriarch) on Mar 30, 2009 at 14:25 UTC | |
by ELISHEVA (Prior) on Mar 30, 2009 at 15:46 UTC | |
by BrowserUk (Patriarch) on Mar 31, 2009 at 00:26 UTC |