Next: An Event Driven
Up: Micro-Architectures - The
Previous: Micro-Architectures - The
The following definitions further present our view:
- Architecting
-
is making design decisions or commitments that affect
components across the system. The difference between
``micro'' and ``macro'' is a matter of perspective.
- Macro-Architecture Decisions
-
are commitments about the ``global vision'' of the system
or application's overall structure.
- Micro-Architecture Decisions
-
are commitments about the relationships between
components,
and these commitments directly support or ensure that the
``macro'' level properties desired will actually be achieved.
- Component Design
-
is pushing the limits of generality within the envelope of
the micro-architectural commitments that have been made.
- Generalizing
-
components means removing commitments that restrict the
applicability of single components.
There is constant friction between the desire to generalize, and
the desire to make micro-architectural commitments that give
greater leverage to client programmers.
The following quote from Robert Biddle sums up the
importance of concentrating on micro-architectural issues:
Micro-architectural issues (design for reuse) are exactly those we
need to pay attention to in order to avoid continually being stuck
with ``legacy'' code that we must try to reuse for better or worse
(design with reuse).
--- Robert Biddle (paraphrased)
Larry Latour
Sun Sep 17 21:09:35 EDT 1995