Premium
Implementing interactive applications in C++
Author(s) -
Jaaksi Ari
Publication year - 1995
Publication title -
software: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.437
H-Index - 70
eISSN - 1097-024X
pISSN - 0038-0644
DOI - 10.1002/spe.4380250304
Subject(s) - reusability , computer science , interface (matter) , model–view–controller , object model , object (grammar) , key (lock) , readability , object oriented programming , user interface , domain (mathematical analysis) , software engineering , human–computer interaction , programming language , operating system , artificial intelligence , software , mathematical analysis , mathematics , bubble , maximum bubble pressure method
This paper presents an object‐oriented approach for the implementation of interactive systems. This approach applies the model‐view‐controller (MVC) paradigm, which is modified for the C++ environment. The modified paradigm is called MVC++. In this approach the design of interactive applications starts by constructing an object model that represents the key concepts of the problem domain. This object model does not contain any user interface elements. According to the MVC++ approach, the object model is called the model part of the application. Only after the model part has been created, is the user interface designed. A collection of user interface classes is called the view. The classes that connect the model and the view form the controller, which is designed to communicate with both the model and the view. The approach presented in this paper provides a number of benefits. Advantages of the original MVC approach are obtained in a standard C++ environment, the structure of applications becomes clear and stable, and reusability as well as readability of the classes increases. Reusability is achieved by employing a mechanism called ‘abstract partners’. The approach presented in this paper is being applied in the development of a large network management system with over one million lines of C++ code running in the XII environment.