| Previous page | Next page | Contents | Home | Obix pragmatics |
Every piece of software should be as independent as possible from all other pieces of software!
The problem is well known: Changing one part of a software generates malfunctions in other parts.
The risk for this phenomenon grows with the number of dependencies between software components. If one component doesn't interact with other components, then malfunctions in case of modifying the component are limited to the component itself. On the other side, suppose only 10 different components which communicate with each other. This results in not less than 10 x 9 = 900 dependencies, which makes the whole much more inclined for fragility in case of modification of any component. A much better design would be the introduction of a new component which acts as a mediator and is responsible for the communication between the existing components. This would reduce the number of dependencies to only 20, a considerable improvement that would largely contribute to better maintainability.
Making software components more independent is primarily a matter of design. Loose coupling and data encapsulation are well documented in the software literature, for example in the book Design Patterns
| Previous page | Next page | Contents | Home | October 2004 |