This page contains an archived post to the Design Forum (formerly called the Flexible Java Forum) made prior to February 25, 2002.
If you wish to participate in discussions, please visit the new
Artima Forums.
Message:
Hierarchy Vs. Heterarchy
Posted by Alex Bunardzic on 22 Oct 1998, 10:36 AM
> An example would be a Shape (superclass), and Circle (subclass). > This may seem good and nice in particular problem domains, like drawing these shapes, for eg. > Now, if we start allowing the user to modify these shapes ? > for instance, the user clicks on a circle and deforms it to form an unidentifiable shape. So, is it still an object of class circle ? This is a very good question. Imagine a similar postulation: let's say we devise a model of the evolutionary principles. We set up our neat schema of the tree of the living beings (you know, living being branching down to monocellular and multicellular, and then further down to more complex and elaborate forms -- plants, animals...) So far so good (or, like you say, "[T]his may seem good and nice"). Let me quote you on one more thing now: "Now, if we start allowing the user to modify these shapes?" In our example, the question would read: "now, if we start allowing the process that we model to modify these beings?" But, that's exactly the reason why we have set up the model in the first place! So, in my mind, the only reason we develop software is to allow for dynamism. There is no useful software that only beautifully reflects some perfect (static) schema. An evolutionary process will by definition incessantly modify all the participants. But this does not violate the fact that still we are playing within the confines of a clearly defined hierarchical structure. In order to have a circle, we imply that there is a no-circle. And our circle can grow into a no-circle. We must allow for that, or else our model is invalid. This is where our hierarchy turns into a heterarchy. This is where the fourth dimension (the time) enters the picture (isn't it fascinating how 99.99% of today's software ignores this dimension?) So, your unrecognisable shape will have its ORIGIN in the circle. This is quite realistic, wouldn't you agree? Alex
Replies:
|