Lesson-5 ArchitectureDesign
Lesson-5 ArchitectureDesign
Separates presentation and interaction from the system data. The system is structured into
three logical components that interact with each other. The Model component manages the
system data and associated operations on that data. The View component defines and
Description
manages how the data is presented to the user. The Controller component manages user
interaction (e.g., key presses, mouse clicks, etc.) and passes these interactions to the View
and the Model.
Next slide shows the architecture of a web-based application system organized using the
Example
MVC pattern.
Used when there are multiple ways to view and interact with data. Also used when the
When used
future requirements for interaction and presentation of data are unknown.
Allows the data to change independently of its representation and vice versa. Supports
Advantages presentation of the same data in different ways with changes made in one representation
shown in all of them.
Can involve additional code and code complexity when the data model and interactions are
Disadvantages
simple.
Lesson 6- Architectural Design 24
The organization of the Model-View-
Controller
Allows replacement of entire layers so long as the interface is maintained. Redundant facilities
Advantages (e.g., authentication) can be provided in each layer to increase the dependability of the
system.
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
Disadvantages
below it. Performance can be a problem because of multiple levels of interpretation of a
service request as it is processed at each layer.
Example An example of a pipe and filter system used for processing invoices is presented in the following.
Commonly used in data processing applications (both batch- and transaction-based) where inputs
When used
are processed in separate stages to generate related outputs.
Easy to understand and supports transformation reuse. Workflow style matches the structure of
Advantages many business processes. Evolution by adding transformations is straightforward. Can be
implemented as either a sequential or concurrent system.
The format for data transfer has to be agreed upon between communicating transformations. Each
transformation must parse its input and unparse its output to the agreed form. This increases system
Disadvantages
overhead and may mean that it is impossible to reuse functional transformations that use
incompatible data structures.