You manage designs in the iPlus Development Environment in the "Designs" tab. The following points must be considered before any new design system:
1. Abstraction level
Since designs always belong to a class, you must first select the project under which the class is organized.
Designs that you add to classes in the "Variolibrary" project are designs that you want to reuse for future projects. Here you also have to consider at which abstraction level you want to define the design, since designs are inherited in the object-oriented sense, as are properties and methods.
Designs that you add to classes that are in the Root project are designs for business objects and entity classes. The inheritance rules also apply here!
Designs that you add to classes that are in application definition and application projects are designs for your customer project. Since classes in the application project inherit from the classes from the application definition project or the class library, you must also decide at which abstraction level you add your design.
Principle : If you create or change designs that are at a higher level of abstraction, this affects many instances. If you create or change designs that are at the last derivation level, this only affects the specific instance.
2. Overwrite
The design name (field ACIdentifier in ACClassDesign) serves to uniquely identify the design within a class. If you want to change a design in a derived class, create an additional design with the same design name (ACIdentifier) as it was named in the base class. You have now overwritten the design. In the following example, the design with the name "Design1" was overwritten in the second class :
3. Categorization
Designs are displayed in iPlus in different contexts, for example as a control element in the visualization, or for configuring an ACComponent in the control dialog, or for displaying database data in business objects.
When creating a design ("New Design" button) you will be asked to categorize the design using the "Usage" combo box :
4. Nesting
XAML code can often become very confusing when, for example, many animations are described or views are created that contain many data fields. For this reason, it is advisable to divide the entire design into several smaller designs (comparable to the nesting principle in computer science), which are later embedded in one another. The embedding of a lower design into a different parent design is the control VBDesign made.
The nesting principle offers the following advantages:
- Reuse designs.
- Reduction of complexity.
- Better clarity and maintainability.