![]() |
subject > pattern > software architecture > distributed architecture |
![]() ![]() | ||||
distributed architecture | ||||
subject | fact |
distributed architecture | facilitates designing for flexibility because distributed systems can often be easily reconfigured by adding extra servers or clients and clients and servers can be developed by competing organizations, giving the customer a choice | ![]() |
facilitates divide and conquer since dividing the system into processes is a very strong way to divide the system up | ![]() | |
increases abstraction because separate distributed components are often good abstractions | ![]() | |
increases reuse because it is often possible to find suitable frameworks on which to build good distributed systems | ![]() | |
is a subtopic of 9.5 - Architectural Patterns | ![]() | |
is a kind of software architecture | ![]() | |
reduces coupling since there is usually only one communication channel between distributed components although you have to watch out for control coupling | ![]() | |
software architecture | constrains the overall efficiency, reusability and maintainability of the system | ![]() |
is decided early in the design process, although it will continue to mature as iterative development proceeds | ![]() | |
must be understood by software engineers | ![]() | |
see also software architecture^2 | ![]() | |
see also software architecture^3 | ![]() | |
pattern | should be as general as possible | ![]() |
should be described in an easy-to-understand form so that people can determine when and how to use it | ![]() | |
should contain a solution that has been proven to effectively solve the problem in the indicated context | ![]() |
Kinds of distributed architecture :