- Categoria: Projects
- Pubblicato Venerdì, 25 Dicembre 2015 18:40
- Scritto da Giampiero Gabbiani
- Visite: 576
Introspective is a C++ framework for runtime object introspection.
- Message passing OO
- Object oriented (in contrast to 'normal' class orientation of C++/Java)
- Dynamic inheritance
- Runtime class / object definition
Message passing OO
Method triggering is performed through messages (introspective::Message), passed a dispatcher. Entities able to dispatch messages are called receiver (introspective::Message::Receiver). There are basically three types of receivers:
- class: instances of introspective::Class;
- object: instance of introspective::Object;
- proxy: instances og classes defined inside the introspective::proxy namespace;
Opposed to classic OO languages (like C++ or Java) with Introspective also Objects can define, override or hide methods and properties in runtime.
Every class or object has the ability to examine its own type, methods and properties in runtime;
At any time a class (instances of introspective::Class) or objects (instances of introspective::Object) can modify their inheritance hierarchy modifying on the fly their OO behaviour.
Runtime class / object definition
Every class and / or object can change its behaviour by adding / removing properties and methods in runtime.
by C++ operator overloading the base syntax for a minimal domain specific language has been introduced.