CodeFluent Entities Documentation
Aspect Oriented Design
See Also Send comments on this topic.
CodeFluent Entities > Architect Guide > Aspect Oriented Design

Glossary Item Box


As seen in the Designing chapter, using CodeFluent Entities implies designing a model representing your application: its business logic, architecture, technologies, etc. From this model a platform independent meta-model is inferred, and only then, producers will translate this in-memory representation into actual code.

Now, aspects (formerly known as CodeFluent patterns) introduce a new notion allowing you to plug into this process. Using aspects you'll be able to work on this in-memory representation of the model, before anything is produced, and dynamically add/remove/modify elements in your model: this is what we call dynamic modeling. In a nutshell, in CodeFluent Entities, dynamic modeling is materialized as aspects and it allows developers to inject extra-behaviors in models.

An aspect in CodeFluent Entities can either be a XML file or an assembly and in both cases it relies on the CodeFluent Entities API which is both readable and writable. Aspects are external to your model, meaning that once you invested time in creating your aspect, you can then reuse it on all your desired projects.

A set of aspects are shipped out-of-the-box along with the product. Those aspects are shipped in the form of XML files and placed in the Patterns folder of your installation directory. Among them, you'll find aspects allowing developers to add data localization or Google-like text search to their application by importing them in their model. Likewise, you can create your own custom aspects in order to add specific behaviors which you'd like to industrialize.

Navigate through this section to know more about this feature.

In This Section


Provides global information on aspects.

The CodeFluent Entities API

The CodeFluent Entities API is the API used to develop aspects.

Built-in Aspects

Provides information on shipped aspects and how to use them.

Custom Aspects

Provides information on how to create a custom aspect.

See Also