Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
Hooks: an aid to the use of object-oriented frameworks
Publisher:
  • University of Alberta
  • Edmonton, Alta. T6G 2M7
  • Canada
ISBN:978-0-612-81191-1
Order Number:AAINQ81191
Pages:
139
Reflects downloads up to 09 Nov 2024Bibliometrics
Skip Abstract Section
Abstract

Software reuse is a promising field that advocates reusing existing software instead of continually rebuilding everything. Application frameworks are one type of reusable software. They provide a standard template for a particular type of program, such as a graphical editor or database. The template provides all of the basic features and is then modified into a finished program, much in the same way that a new car can be designed by modifying a standard template.

Frameworks, however, are often large and complex pieces of software. In the literature, work has already been done to show what the pieces of the framework are, how they fit together and what each of them does. However, wading through all of the design and implementation information is an arduous process and in the end does not describe one of the most important aspects of a framework: how to use it. I am proposing a notion called hooks which correspond to all of the places in a framework that can be modified or added to in some way: the buttons, knobs and dials of a framework. Hooks let framework users quickly grasp the information they need to actually build applications with a particular framework. I am also categorizing hooks based on the type of change (such as adding parts to a framework or customizing existing parts) and how well the change is supported in the framework. This type of categorization has not been done in the past, and no one has studied the properties and effects of these different types of change.

The hooks model itself has been applied to several frameworks including the commercial Size Engineering Application Framework. In addition, an in-house framework has been constructed for client-server computing and used as the basis for a study in the senior year software engineering course to learn how people can best approach the use of frameworks and to test the validity of hooks.

The knowledge gained from this work helps users of the framework by providing the information and guidance they need to build finished programs from the framework. It also helps the people who develop frameworks by providing them with the knowledge they need to design frameworks that are flexible and easy to use.

Contributors
  • University of Alberta
  • University of Alberta

Recommendations