MVC - Model-View-Controller

Iniziamo. È gratuito!
o registrati con il tuo indirizzo email
MVC - Model-View-Controller da Mind Map: MVC - Model-View-Controller

1. Goals

1.1. Simultaneous Development

1.2. Code Reuse

2. Advantages

2.1. Simultaneous Develeopment

2.2. High Cohesion

2.2.1. Modules with high cohesion tend to be preferable, because high cohesion is associated with several desirable traits of software including robustness, reliability, reusability, and understandability. In contrast, low cohesion is associated with undesirable traits such as being difficult to maintain, test, reuse, or even understand.

2.3. Loose Coupling

2.3.1. system is one in which each of its components has, or makes use of, little or no knowledge of the definitions of other separate components. Subareas include the coupling of classes, interfaces, data, and services.

2.4. Ease of Modification

2.4.1. Because of the separation of responsibilities, future development or modification is easier

2.5. Multiple Views of Models

2.5.1. Models can have multiple views

3. Disadvantages

3.1. Code navigability –

3.1.1. The framework navigation can be complex because it introduces new layers of abstraction and requires users to adapt to the decomposition criteria of MVC.

3.2. Multiartifact Consistency

3.2.1. Decomposing a feature into three artifacts causes scattering. Thus, requiring developers to maintain the consistency of multiple representations at once.

3.3. Pronounced Learning Curve

3.3.1. Knowledge on multiple technologies becomes the norm. Developers using MVC need to be skilled in multiple technologies.

4. Components

4.1. Model

4.1.1. the central component of the pattern. It expresses the application's behavior in terms of the problem domain, independent of the user interface.[6] It directly manages the data, logic and rules of the application.

4.2. View

4.2.1. an be any output representation of information, such as a chart or a diagram. Multiple views of the same information are possible, such as a bar chart for management and a tabular view for accountants.

4.3. Controller

4.3.1. accepts input and converts it to commands for the model or view.

5. Interactions

5.1. Model

5.1.1. stores data that is retrieved according to commands from the controller and displayed in the view.

5.2. View

5.2.1. generates new output to the user based on changes in the model.

5.3. Controller

5.3.1. can send commands to the model to update the model's state (e.g., editing a document). It can also send commands to its associated view to change the view's presentation of the model (e.g., scrolling through a document, movement of document)