- What is the Model-View-Controller (MVC) architecture, and how does it work in software development?
- What is Model component in MVC?
- How does the View component work in MVC, and what are some common examples of Views in web development?
- What is the Controller component in MVC, and how does it interact with the Model and View components?
- What are some common challenges of using MVC in software development?
Created
May 4, 2023 11:07
-
-
Save Kishimoto96/6263997afe1b7cb552efdf17090341b2 to your computer and use it in GitHub Desktop.
@tarik310 @heisenberg550 @Sara-Nefise
- The Model-View-Controller (MVC) is an architectural pattern that separates an application into three main logical components: the model, the view, and the controller. Each of these components are built to handle specific development aspects of an application,
Model: The model represents the data and the logic of the application. View: The view is responsible for presenting the data to the user in a graphical form. Controller: The controller acts as an intermediary between the model and the view. By using MVC can change the view to update the user interface without changing the underlying data or logic. - The model component stores data and its related logic. It represents data that is being transferred between controller components or any other related business logic.
- View component is responsible for presenting the data to the user in a graphical form. It is an interface that displays the data and allows the user to interact with it. View component in web development is typically implemented using HTML, CSS, and JavaScript.
- Complexity: MVC can be complex to understand and implement, especially for developers who are not familiar with the architecture.
-Over engineering: There is a risk of over-engineering the application when using MVC.
-Testing: Testing the application can be challenging, especially when testing the interactions between the components.
5.Common challenges of using MVC in software development include a steeper learning curve for developers who are not familiar with it, and potentially more overhead in implementing the separate Model, View, and Controller components.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Team members: @houzifahabbo ,@ahmad Ramin ,@Eng.NUREDDIN ,@badrnasher
1- MVC is abbreviated as Model View Controller is a design pattern created for developing applications specifically web applications. As the name suggests, it has three major parts. The traditional software design pattern works in an "Input - Process - Output" pattern whereas MVC works as "Controller -Model - View" approach. With the emergence of the MVC model, creation of application takes different aspects individually into consideration. These aspects of the application are:

- UI Logic
- Input logic
- Business Logic
Benefits of using MVC architecture:
- Logical clustering of related acts on any controller can be achieved through MVC.
- Various developers can work at the same time on different parts the same application-controller, model, and the views part.
- In MVC, models can have numerous views.
2- Model: The Model encloses the clean application related data. But the model does not deal with any logic about how to present the data.
3- View: The View element is used for presenting the data of the model to the user. This element deals with how to link up with the model's data but doesn't provide any logic regarding what this data all about or how users can use these data. Basically, it shows the user how the data looks like.
Examples: HTML, CSS, and sometimes JavaScript code
4- The controller is the manager of the data it transfers data between the viewer and the model and controls the flow of the application or website
5- using MVC for server data source and local data source
Learning Curve
Complexity
Tight Coupling
Testing
Scalability
Framework Limitations