Jump to: navigation, search

Design object-oriented data models


  • Use Polymorphism and inheritance at its best

Start your object model with the definition of a Metaclasses, which derive from UBIK’s internal classes and can hold own and inherited Metaproperties” and Attributes. These Metaproperties specify the features of your classes and have various configuration options. They are always strongly typed, can be formatted, checked against rules, multilingual or generally indexed, and can, of course, also hold dimension units and calculate with them in real time. After the definition you will be able to derive content objects from your Metaclasses, which will inherit all those specifications and hold their distinctive values.

  • Define arbitrary relations between objects

UBIK objects can be set in relation to each other in different ways. While it is possible to define 1:n relations (References), UBIK also allows the creation of n:n relations. As any other Metaclass, relations can possess Metaproperties and have their own inheritance hierarchy.

  • Program runtime behavior of your objects in native code or visual workflows

As your custom Metaclasses derive from UBIK’s internal classes, you can simply use the powerful code editing tools of UBIK, to customize their built-in events and incorporate your own runtime behavior. No need to learn a special scripting language or to abdicate any functionality, just use pure C# and leverage everything .NET offers. You can also you use the entire Microsoft Workflow Foundation which is tightly integrated into UBIK, instead, or also in combination with your coding.

  • Configure in views how users see the objects

Your Metaclasses can be part of as many views as you want, and those views are the key to present the object model to the users. So you can present the very same classes in completely different ways and hierarchies, to support the user and meet his expectations as good as possible.