MVC is a widely used software architectural pattern in GUI-based applications . It has three components, namely a model that deals with the business logic, a view for the user interface, and a controller to handle the user input, manipulate data, and update the view.