
72
ComPonent-oriented develoPment and assemblY
picture. We have been following the low coupling design principle that ensures that
changes made to one part in a system do not ripple across to other parts of the system.
ere is another design principle that qualifies coupling—coupling between two
elements is especially bad if the element being depended upon is unstable in nature;
if the element being depended upon is highly stable, then the coupling is acceptable.
In the case of the componentized Virtual Store application, all the dependencies are
between a class and an interface (except the dependencies on Product, UI, and
Store). In the cas