Advanced programming


The baseclass for all instances.

All instances with which the end user interacts in iPlus or works in the background are derivatives of the base class ACComponent. The class ACComponent is comparable to the System.Object-Class from the .NET framework. The term "component" stems from the fact that ACComponents can be configured to form a larger whole in accordance with the composite design pattern. The following sections explain in detail which properties and functionalities an ACComponent provides.


Summary of the functionalities offered by the class ACComponent.

The ACComponent class solves the following problems:

  • Clear separation between client-side and server-side programming
  • Working with proxy instances that behave like server-side instances
  • Networkabstraction:
    • Distribution of data/properties over the network
    • Synchronous and asynchronous method calls over the network
    • Event based programming over the network
  • Composite design pattern:
    • Parent/child relationships (tree structure)
    • Search functions in the tree structures
    • Static and dynamic generation of child instances
  • Persistance and serialization support:
    • Persistence of properties and states of primitive or complex data types.
    • Reading and writing of configuration data with editors for complex data types.
    •  Network distribution of arbitrary complex data types/classes
      life cycle management
  • Lifecyclemanagement
  • URL-based command interpreter similar to REST
  • Support and simplification of WPF data binding through unified URL syntax
  • Powerful customizing through "virtual inheritance" (object-oriented extension by database configuration - without assembly programming and CLR compiler)

Structure of a ACComponent

An ACComponent consists of the following elements:

 

  • Properties,
  • Methods,
  • Events,
  • Configuration data,
  • Presentations (Designs)
  • and translation texts

You can add and change an ACComponent in the iPlus-development environment, and inherit and overwrite it in the object-oriented sense.

For more information, see the following subsections.