|
|
|
|
| |
| |

how do you do it?
|
| |
You are given the job of chief architect, what do you do?
Architectural guidelines can largely take the form of patterns: design
and analysis patterns, process and organizational patterns. The job
may include not just design guidelines for the product itself, but also
the method of developing it.
Big issues in architecture
-
performance -- A system is no good unless it performs well. But at the
same time, the performance requirements must be balanced with decoupling.
The two are usually antagonistic, so a good architect must be able to judge
how to obtain the optimum for the application.
-
decoupling -- A maintainable design is well decoupled. Most of what constitutes
good architecture boils down to good vertical or horizontal decoupling.
Tools for mapping dependencies are useful in this area.
-
layers -- The design should be layered, and the guidelines for each layer
considered separately.
-
frameworks -- Many architectures involve constructing a central framework
in which components fit
-
languages -- The model of the business domain is an essential starting
point for defining the communications between the components. At another
level, defining an architecture can be seen as defining a language in which
to express the parts of the system you want to build.
-
templates -- Design patterns can (in many cases) be seen as template designs,
together with advice on when and how to use them.
-
collaborations -- Object design, particularly at the architectural level,
should focus on collaborations and the roles objects play in them: not
on whole individual objects. For example, the Observer pattern is about
an interaction between objects, not about the whole behaviour of either
of them.
-
component kit -- Modern architecture is about how to make not just one
system, but many: a system may have different variants in different installations;
and even if it doesn't, it will exist in many versions, seen over a span
of time. To make any aspect of behaviour variable, encapsulate it in a
separate plug-in component.
|
|
|
| |
|
|
email
us or tel UK: 0161 225 3240 international:
 +44 161 225 3240 |
|
|
|
|