Model Layer

The model layer is used to store various models required in the application. A typical application will usually have a model layer to store it's schema. Another model layer will be linked to that schema to allow the creation of objects based on that schema. Model layers are the base objects used when persisting application data to files.

Schema List

In order to define what type of objects can be created, a model layer references a list of schemas that define the list of allowed object types.

Dependent Model List

The dependent model list defines a list of other model layers that contain objects that may be referenced by the current model layer. This is used to enforce architecture principles where each application layer clearly defines it's dependencies. For instance, this can be used to restrict the schema layer from referencing the view layer.

Dynamic Model Layers

By default, the deduced framework creates model layers using a dynamic mode where changes in the schema types are automatically reflected in the objects implementing them. This means that adding a property instance to a property collection type will automatically add this instance to all the model objects of this type. This also means that removing a property instance would remove the corresponding value in all the model.

Warning : Removing a schema or a property collection type in a schema will automatically lead to the destructions of all the model objects that are based on that information.