Developing an app with a design that changes every few months means that the architecture chosen for the UI has to facilitate change. How do you react fast to UI changes, with minimum amount of code? What pattern is the best for testability? Which pattern gives you most decoupling of classes? MVC, MVP and MVVM are the most popular architecture patterns for implementing user interfaces. Join me on a journey to discover the advantages and disadvantages associated with of each of these and find the best one. We will perform a deep dive into the implementations and tests for each pattern. Learn about the pitfalls that you can expect and how you can avoid them, based on some of the lessons that we have learned.