Framework requirements for GUI applications

Applications developed for the Symbian platform can use a number of different architecture solutions to meet their requirements. One example of a common approach includes the Model - View - Controller (MVC) pattern used in GUI-based applications. In this approach, the application is split into three separate logical parts. Each part contains a different aspect of the entire application, and has a specific role.

Figure 1. Logical dependencies in the MVC pattern

In this approach, the model:

  • contains and manipulates the data in the application

  • is owned by the controller

  • is typically implemented in its own class or classes

the view :

the controller :

The pattern is implemented with the following classes.

Figure 2. Relationship between the classes that make up a typical Symbian application

The CAknApplication -derived class:

  • provides the application object expected by the application framework when the application is launched.

  • defines the application properties.

  • creates the CAknDocument derived class if it does not exist yet.

  • if an instance of the application is already running, switches to that instance and exits.

The CAknDocument -derived class:

  • creates the controller class

  • is the base class for application documents