Something is definitely wrong with the object-oriented software design. Did you notice? I forces the hierarchical view of, basically, anything onto the designer. This is equally a property of the languages and the design methods. If you make object-oriented design or you write object-oriented software you equally end up with a hierarchical system.
What’s wrong with it? Maybe nothing. It just severely limits the view of the problems that we attempt to resolve with our software. The world is not always hierarchical but we try always to drag it kicking and screaming into our unified model. Sometimes that will fail. Actually, given the variety of problems, probably even most of the time it will fail.
And the important thing is that we do not notice this anymore. We think in limiting ways. We are used to the model. We assume the model of object-oriented design will fit anything and everything without ever thinking about it. Unconsciously, we made the decision to narrow our choices. And that is definitely wrong.… -->continue reading →