Please enable JavaScript.
Coggle requires JavaScript to display documents.
ARCHITECTURAL DESIGN (Architecture and system characteristics (Performance…
ARCHITECTURAL DESIGN
-
Layered architecture
Advantages
Allows replacement of entire layers so long as the interface is maintained. Redundant facilities (e.g., authentication) can be provided in each layer to increase the dependability of the system.
Disadvantages
In practice, providing a clean separation between layers is often difficult and a high-level layer may have to interact directly with lower-level layers rather than through the layer immediately below it. Performance can be a problem because of multiple levels of interpretation of a service request as it is processed at each layer.
When used
Used when building new facilities on top of existing systems; when the development is spread across several teams with each team responsibility for a layer of functionality; when there is a requirement for multi-level security.
-
Description
Organizes the system into layers with related functionality associated with each layer. A layer provides services to the layer above it so the lowest-level layers represent core services that are likely to be used throughout the system.
-
MVC Pattern
When used
Used when there are multiple ways to view and interact with data. Also used when the future requirements for interaction and presentation of data are unknown.
Advantages
Allows the data to change independently of its representation and vice versa. Supports presentation of the same data in different ways with changes made in one representation shown in all of them
-
Description
-
-
The Controller component manages user interaction (e.g., key presses, mouse clicks, etc.) and passes these interactions to the View and the Model.
Repository Pattern
Description
All data in a system is managed in a central repository that is accessible to all system components. Components do not interact directly, only through the repository.
When used
When you have a system in which large volumes of information are generated that has to be stored for a long time. Also use it in data-driven systems where the inclusion of data in the repository triggers an action or tool.
Advantages
Components can be independent—they do not need to know of the existence of other components. Changes made by one component can be propagated to all components. All data can be managed consistently (e.g., backups done at the same time) as it is all in one place.
Disadvantages
The repository is a single point of failure so problems in the repository affect the whole system. May be inefficiencies in organizing all communication through the repository. Distributing the repository across several computers may be difficult.
-
-
-
-
-
Architectural Patterns
Patterns are a means of representing, sharing and
reusing knowledge.
Stylized description of good design practice, which has been tried and tested in different environments
-
-
-
-
-
Design process to identifying sub-systems making up a system and the framework for sub-system control and communication.