Home
Features
Architecture
Examples
Generate Dictonaries
Download/Build
Releases
FAQ
Documentation
Bugs/Requests
Copying
Platforms
Presentations
Links
Contact
|
Architecture
The system is divided into three different layer (see Fig. 1):
- The User Level:
- This is the user API the user of the package will work with.
It consists of a handfull of classes which are very lightweigth
objects and will so will be passed around by value. The functionality
of these objects reveals the every capability of the underlying
framework.
- The Identification Layer:
- This level consists of two classes which contain unique
ids of all types and scopes which are used in the framework
while running. Instances of these classes are immutable and
cannot be destroyed once they have been allocated. As such
they will always provide a unique id of a type/scope throughout
the runtime of the process. The reason for having these objects
is, that the underlying implementation layer may change (e.g.
a class description gets replaced by anotherone while all
pointers to these types are still valid)
- The Implementation Layer:
- This layer contains all the implementation details of the
reflection system. Objects in this level can be allocated
and also be deleted at any time (e.g. when a dictionary library
gets unloaded).

UML diagrams
More detailed UML diagrams (pdf)
|
|