No matter how elegant and crisp the code is, the end-users are never going to interact with it. They interact with links, images, buttons, lists, etc. Thus, the users base their experience of software or an app on the number of clicks it takes them to accomplish a task, navigation, and easy-of-use. This makes the UI architectural patterns of utmost importance. The three most common types of architecture design presentation patterns are MVC (Model View Controller), MVP (Model View Presenter), and MVVC (Model View View Model). Here is a quick infographic depicting a comparison of MVC vs MVP vs MVVM design patterns.