Introduction
introduction
framework
patterns
components
conclusions
references
appendix
experience
For both users and developers,
delineating the patterns and idioms underlying
the realization of an object-oriented framework
is slowly being recognized to be of critical
importance for understanding the inherent complexity
of the framework.
The DejaVu framework, that we are developing,
is meant to provide a flexible and
easy-to-use
environment for intelligent,
distributed hypermedia applications.
In particular, the hush
(hyper utility shell) library
and its extensions offer support for the
development of multimedia user interfaces,
and is used in practical CS2 and CS3 software
engineering assignments.
The focus of our research has recently shifted towards
Web-integrated applications,
that allow for including Web-aware
widgets as a (GUI) component in an application.
In order to realize the functionality of hush
in a flexible fashion,
a systematic use has been made of a limited number
of patterns,
namely the nested components pattern and
the actor pattern.
For the actual implementation hush we employed
an improved version of the handle/body idiom,
and the derived
virtual self-reference and
dynamic role-switching idioms that underly
the patterns mentioned.
To clarify the distinction between patterns and idioms
we emphasize that the patterns
provide a solution to a problem of design,
whereas idioms are to be regarded as a convenient
implementation technique.
Related work
Clearly, a rich variety
of patterns and idioms has already been
extracted from the development of GUI toolkits
as testified by the collection in [GOF],
which is primarily drawn from the experience
of developing Interviews [Interviews]
and ET++ [ET].
Nevertheless,
our work shows a flaw in one of the commonly used
idioms, notably the handle/body idiom,
and may further be considered of interest
due to our approach of realizing
the handle/body idiom and idioms derived from it.
Our actor pattern
and associated dynamic role switching idiom,
moreover, seem to be more powerful
than similar patterns known from the literature.
Structure
The structure of this paper is as follows.
First, we will give a brief overview of
the DejaVu framework and the basic concepts of
the hush library.
Then we will characterize the patterns and idioms
employed in developing hush and its extensions.
As an illustration of our approach,
we will discuss the design of the Web-related
components of our framework.
And finally, we will discuss the relative merits
of the patterns and idioms employed.
introduction
framework
patterns
components
conclusions
references
appendix
experience