Chapter 1. Introduction
As a software developer, you are charged not only with the task of creating applications, but also with battling complexity. In almost every case, the programs you write must also be maintainable; requests for new features, bug fixes, and enhancements should be easily accommodated. And in today’s fast-paced business environment, there is a common imperative to release software early and often, so there is little time to fully design a system before the development begins. Rapid shifts in technology are driving the need to support or migrate to new hardware platforms; desktop, web, tablet, and mobile versions of an app—all with different form factors, use cases, and user interfaces—are quickly becoming standard requirements.
With all of these pressures, how are developers and teams supposed to consistently meet deadlines while delivering robust, maintainable code? Design patterns have long been seen as a way of solving specific problems within an application. However, overall application architecture, even when composed of known patterns, can suffer and become unmaintainable if not well planned. This is the problem that the Model-View-Controller (MVC) concept (see Figure 1-1), and specifically PureMVC, is meant to address.
Classic MVC Architecture

This book is no place ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access