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