The previous portion of this tutorial explored an alternative to MVC called Model View View-Model. In this design pattern, data manipulation responsibilities are handled by a new component View Model created as part of MVC. On the other hand, the view controller does much work; hence there is a lack of distribution in MVC and MVVM.
The fact that a Controller is closely tied to the lifecycle of a view makes testing a view controller a very difficult task. MVP (Model View Presenter) is another alternative design pattern that incorporates the main component presenter into the scheme of things.
MPV is a design pattern that divides items into three key components: Model, View, and Presenter. Now, the View Controller is considered a View, and the Presenter contains all of the business logic of the application's business logic reasoning logic rationale
Using delegates, the MVP implements a passive view pattern. In addition, it will keep track of the Presenter's actions and updates. The presenter also updates the model.