Please enable JavaScript.
Coggle requires JavaScript to display documents.
Interaction Oriented Architecture (Model View Controller (Concepts (Model,…
Interaction Oriented Architecture
Motivation
Many problems! Examples?
Update of user view however business logic is not changed
Validating user input
buffer overflow
SQL injection attack
Software grows more complex when richer user interaction is required
Interaction oriented SW architecture
Key points
Because
Even for a specific view presentation, the view or interface may
need to change so often, so the loose coupling between data abstraction and its presentation is helpful. This is supported in
this style.
Many view presentation in different data formats
Multiple views is supported for the same data set.
Separation of user interactions from data abstraction and
business logic
More and more SW involve user input/output interaction, so
specific user interfaces to software design.
Interaction oriented SW architecture decomposes the system into
View presentation module
Visual or audio data output presentation
Provide user interface when necessary
Data module
Provides data abstraction
All core business logic on data processing
Control module
Certain data initialization
Flow of control of view presentation
Communication between modules
Job dispatching
System configuration
Model View Controller
Note: model does not (and should not) know view and
controller. It should not depend on the other two components.
Widely used in web applications
First introduced in 1980’s SmallTalk
Concepts
Model
responds to instructions to change state (usually from the
controller).
The Model manages the behavior and data of the application
domain.
The model responds to requests for information about its state
(usually from the view)
View
A view port typically has a one to one correspondence with a
display surface and knows how to render to it.
The View renders the model into a form suitable for interaction,
typically a user interface element.
Multiple views can exist for a single model for different purposes.
Controller
A controller accepts input from the user and instructs the model
and a view port to perform actions based on that input
A controller accepts input from the user and instructs the model
and a view port to perform actions based on that input
Key ideas
Decompose user-interaction software
View presentation module
Data module
Flow control module
Benefits
Loose coupling
Extensibility
Exchangeability
Maintainability