Skip to content

Multidimensional Model

Ioan Crisan edited this page Oct 18, 2018 · 13 revisions

Aims of a multidimensional model

...

Model dimensions

Layer

The Layer is the dimension identifying the level of abstraction. For example, Foundation is the bottom-most layer providing the technical infrastructure functionality; a general purpose CRM system may be built upon it providing core CRM functionality; further on a customer specific layer may be added to customize the CRM core with customer specific needs. Following this principle, an application may be structured in such a way that it enables a maximum reuse of the code.

  • Aggregatable: yes.

The layer is aggregatable because each dimension element may provide a further specialization of an application component which, after aggregation, provide an integral functional view of that element.

Caution: the number of layers should be kept small, because they may introduce a complexity which can get out of the control quickly. A number of maximum four (4), including Foundation, is the recommended one.

App

The App dimension is used to model multiple applications or microservices.

  • Aggregatable: no.

By default, Kephas provides the Kernel application which can be used to provide primitives to all the other models.

Module

The Module dimension identifies modules within the application. Modules are functional units of an application which are autonomous but at the same time possibly integrated with one another.

  • Aggregatable: no.

The Module dimension is not aggregatable because it splits the application horizontally into autonomous units, which can interact with one another.

Area

The Area dimension identifies areas in the application with an in-itself consistency. This can be the domain model, the DTO model, the messaging, and so on.

  • Aggregatable: no.

The Area dimension is not aggregatable because areas are distinct across the application.

Aspect

The Aspect dimension identifies orthogonal aspects within the application. Combining them provides an integral view of the model.

  • Aggregatable: yes.

The Aspect dimension is aggregatable because it may provide logical aspects of the same element, which, after aggregation, are combined into one integral element.

By default, Kephas provide a default dimension element named Main.

Clone this wiki locally