Introspective
- Dettagli
- Categoria: Projects
- Pubblicato Venerdì, 25 Dicembre 2015 18:40
- Scritto da Giampiero Gabbiani
- Visite: 3863
Introspective is a C++ framework for runtime object introspection.
Features
- Message passing OO
- Object oriented (in contrast to 'normal' class orientation of C++/Java)
- Introspection
- Dynamic inheritance
- Runtime class / object definition
- DSL
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;
Object orientation
Opposed to classic OO languages (like C++ or Java) with Introspective also Objects can define, override or hide methods and properties in runtime.
Introspection
Every class or object has the ability to examine its own type, methods and properties in runtime;
Dynamic inheritance
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.
DSL
by C++ operator overloading the base syntax for a minimal domain specific language has been introduced.