ACF Documentation


ACF is a C++ based, cross-plattform component framework, that was especially designed for creation of complex, customizable and highly scalable applications. ACF follows the component-oriented programming paradigm and provides instruments to build software from reusable components and serves interfaces and concepts to create those components. ACF contains a set of libraries with implementations of most usefull design patterns, such Serialization, Model/Observer, Factory, Dependency Injection etc.. ACF implements a powerfull component concept and includes many well designed components, which you can directly use in your application. The UI-part of the framework is based on Qt library provided by Digia. ACF is open source and released under the terms of the GNU Lesser General Public License (LGPL). See or write for further information about the ACF.

More theoretical considerations about the component-based development can be found at the following location:

How it works

The main idea behind ACF is to see each software product as a composition of components with clearly defined interfaces. Interface is also the only way for communication between components. The usual steps to implement a component are:

To keep the management component packages consistent, all kind of packages have the same file extension - ARP (ACF Registry Package).

If all the necessary components have been implemented, the application can be executed. There are two basic ways. A composition of components can be run directly by Framework-Runtime. However, this mechanism is usefull only in the prototyping stage. For the final application a different approach can be used. ACF provides a special source-code generator, which makes it possible to produce source code back from component compositions. The resulting source code is then compiled by the usual way. This has the advantage that during the runtime of the application no modules (DLLs) must be loaded.


Below are some of the main features of ACF:


Hier you will find beginner tutorials:

© 2007-2017 Witold Gantzke and Kirill Lepskiy