Automatic Presentation of Model Data in MVC++ Applications.
VUORENMAA, MARKKU (2000)
VUORENMAA, MARKKU
2000
Tietojenkäsittelyoppi - Computer Science
Taloudellis-hallinnollinen tiedekunta - Faculty of Economics and Administration
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2000-04-26
Julkaisun pysyvä osoite on
https://urn.fi/urn:nbn:fi:uta-1-8320
https://urn.fi/urn:nbn:fi:uta-1-8320
Sisällysluettelo
1. Introduction 1 2. Model-View-Controller Architecture 3 2.1. Principles of Model-View-Controller Architecture 3 2.1.1. Parts of Model-View-Controller Architecture 3 2.1.2. Loose Coupling with Dynamic Binding 6 2.2. Applying MVC++ in Practise 7 2.3. Laborious MVC++ 8 2.3.1 MVC Architecture requires many Classes 8 2.3.2 Domain Object Parameters in MVC++ Model Part 9 2.4. Reducing the MVC++ Overhead 10 3. Object-Oriented Frameworks 12 3.1. Framework Definition 12 3.2. Frameworks and Class Libraries 13 3.3. Frameworks and Design Patterns 14 3.4. White-box and Black-box Frameworks 15 3.5. Deploying multiple Frameworks 16 3.6. Framework Benefits and Pitfalls 17 3.7. Framework Life Span 17 4. Developing Object-Oriented Frameworks 19 4.1. Identifying Abstractions 19 4.2. Designing a Framework 20 4.3. Framework Implementation 22 4.4. Testing and Supporting the Framework 23 4.5. Framework Maintenance 24 4.6. Framework Development Tools 25 4.7. Summary 26 5. Model Presentation Framework 27 5.1. Motivation behind the Model Presentation Framework 27 5.2. Model Presentation Framework Overview 28 5.3. Model Presentation Framework Architecture 31 5.3.1. Attribute Encapsulation 31 5.3.2. Model Interface 32 5.3.3. Model Object Encapsulation 35 5.3.4. User Interface Component Adaptation 37 5.3.5. Customised User Interface Components 38 5.3.6. Editing Support 39 6. Utilising the Model Presentation Framework 42 6.1. Roles of the Model Presentation Framework in Applications 42 6.2. Displaying the Data 42 6.3. Modification through the Model Presentation Framework 43 6.4. Creating new Objects 45 6.5. Sample Application 46 6.6. Filtering and Sorting 49 6.7. Status of the Model Presentation Framework 50 7. Applicability of MPF 51 7.1. Achieved Benefits 51 7.2. Drawbacks 52 7.3. Existing Usage Experiences 53 7.4. Comparison to other Frameworks 55 7.4.1. ET++ 55 7.4.2. HotDraw 56 7.4.3. Comparison Summary 58 8. Conclusion 59 References 61
Tiivistelmä
Although Model-View-Controller architecture and MVC++ support
building object-oriented and modular applications, designing
and implementing the model data handling in view and controller
layers requires a lot of work. If an abstraction about the generic
behaviour of the model layer can be constructed, an object-oriented
framework could be designed to provide automatic handling and
presentation of model layer data. This thesis presents a design of
such a framework as well as some early usage experiences. The
presented framework succeeds in supporting presentation and
modifications of already existing data, but can not offer good
support for object creation and removal. Experimenting with test
programs and prototypes has been encouraging, but has also revealed
some typical problems of framework design, implementation and usage.
As a conclusion, one can say that a framework reaching beyond MVC++
functionality can provide partly automatic data handling for MVC++
applications. The presented Model Presentation Framework undoubtedly
needs more work to reach the maturity level found in more advanced
frameworks.
Keywords: frameworks, object-oriented design, design patterns,
Model-View-Controller architecture, MVC++
building object-oriented and modular applications, designing
and implementing the model data handling in view and controller
layers requires a lot of work. If an abstraction about the generic
behaviour of the model layer can be constructed, an object-oriented
framework could be designed to provide automatic handling and
presentation of model layer data. This thesis presents a design of
such a framework as well as some early usage experiences. The
presented framework succeeds in supporting presentation and
modifications of already existing data, but can not offer good
support for object creation and removal. Experimenting with test
programs and prototypes has been encouraging, but has also revealed
some typical problems of framework design, implementation and usage.
As a conclusion, one can say that a framework reaching beyond MVC++
functionality can provide partly automatic data handling for MVC++
applications. The presented Model Presentation Framework undoubtedly
needs more work to reach the maturity level found in more advanced
frameworks.
Keywords: frameworks, object-oriented design, design patterns,
Model-View-Controller architecture, MVC++