Graphics Reference
In-Depth Information
In terms of implementation, we should be able to:
• understand the software abstraction and libraries developed;
• understand how to utilize these resources in implementing MVC-based so-
lutions;
• critically evaluate these resources and identify alternate solutions.
At this point we know the following.
The programming model. We understand that the event-driven program-
ming model better supports developing solutions for user interactive appli-
cations in shared windowing environments.
The GUI API. We understand the principles of working with modern GUI
APIs, and we understand the mechanisms for registration of events and the
coordination between the front-end GUI elements and back-end program-
ming code.
The graphics API. We have gained some understanding and developed
sufficient abstraction to begin simple drawing with graphics APIs.
These represent the foundation concepts and technology know-how for imple-
menting the ball-shooting program. However, due to the practical complexities
involved with programming and coordinating the functionality presented by the
two APIs, it can be overwhelming to determine where or how to begin an imple-
mentation.
In this chapter, we learn the model-view-controller (MVC) software archi-
tecture where a framework is introduced to structure the collaborations of func-
tionality between components. With this framework guiding our design and im-
plementation, we will be better equipped to develop programs that are easier to
understand, maintain, modify, and expand.
5.1
The Model-View-Controller Framework
Based on our experience developing solutions in Chapter 1, we understand that
interactive graphics applications can be described as applications that allow users
to interactively update their internal states. These applications provide real-time
visualization of their internal states (e.g., the free-falling balls) with computer
graphics (e.g., drawing circles). The model-view-controller (MVC) framework
provides a convenient structure for discussing this type of application.
In the
Search WWH ::




Custom Search