Using the MVC Framework for a High-Level Design

The section will give you a high-level view of a few key aspects of application design. The purpose is not for you to become a programmer or an application designer. The purpose is to give you a high-level introduction to a few key concepts that will help you collaborate with your development team on your final design. The adaptive and agile methods most popular today involve a high degree of collaboration. This section will give you additional intuition and concepts helpful in the process.

Once you and your team finish the audience characterization and user stories, you're ready to think about a high-level design for the initial application. Even though it's primarily the job of your implementers to do the software design, you should be neither timid nor presumptuous about participating in the process. The process is collaborative and a product owner unwilling to participate in design is like the businessperson making a vague deal and then leaving all the key points to the lawyers. Everyone should be involved in this part of the process, and I always make sure that I am.

Thinking about your application as having Model, View, and Controller (MVC) components will help you organize your thinking about its implementation. It's certainly not the only way to organize an application, but what's important is having a framework you can use to constructively decompose the application's different facets. The View is the thing the user sees, ...

Get Starting a Tech Business: A Practical Guide for Anyone Creating or Designing Applications or Software now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.