My favorites | Sign in
Project Logo
                
Show all Featured wiki pages:
Reflection_from_Projection
People details
Project owners:
  kjin101
Project committers:
xtliwk

PocoCapsule is an inversion of control (IoC) container, a.k.a dependency injection (DI) framework, as well as a domain specific modeling (DSM) engine. The main goals of PocoCapsule are to support declarative assemblying/deploying/configuring of component-based C/C++ applications and also to provide a platform that can easily be used even by domain users to quickly build other component frameworks in a descriptive modeling approach.

PocoCapsule is non-invasive and enforces neither a proprietary component programming model (such as their base classes or a set of pre-defined methods) nor any component-container couplings (such as registry or context lookup). It accepts container-agnostic plain-old C/C++ objects (POCO) as components. Examples of such components include instances of arbitrary C++ classes, template classes (such as all STL container classes), K&R structs, arrays, and even functions (as function pointers).

PocoCapsule supports almost all useful IoC invocation scenarios regardless the numbers of their value/reference inject arguments (in various types, aggregated types, and even user defined types). These invocations include:

PocoCapsule supports component lifecycle control with any of the following methods specified by user: PocoCapsule ensures type safety. All type conversions are validated statically in building dynamic invocation proxies. The dynamic reflection engine only uses proxies that exactly match the signatures of IoC invocations.

PocoCapsule seamlessly supports user-defined domain specific modeling schemas through model transformations. These DSM schemas describe applications architectures at higher abstraction levels. This mechanism not only largely avoids problems of the verbose, error-prone, and primitive core IoC schema but also makes the PocoCapsule a framework that can be used by domain users to quickly and easily build other user-defined or committee-designed component frameworks. Several such DSM frameworks are presented in PocoCapsule out-of-the-box or from third parties, such as:

PocoCapsule is portable to almost all Unix/Windows and realtime embedded operating systems (such as VxWorks and Symbian OS). The 1.0 source code can be built on Linux, Solaris, Windows, and VxWorks out-of-the-box.









Hosted by Google Code