Feature Schema

Feature Data ››

Feature schema strive to represent knowledge about a domain as simple relationships between the objects that model the domain. It relies on Domain Object Model (DOM) concept which enables avoiding hard-coding this knowledge into the source code, since usually code can't change at runtime. Even when it does, the people who can perform these changes are a scarce resource. One of the fundamental ideas of this architectural style lies in the ability to configure and manipulate its objects as any kind of data. A domain-specific data, to be more precise.

Most object-oriented systems have a static object model. In other words, the object model does not change at run-time, but is fixed when the program is designed. A system based on a DOM de/serializes an object model to a file and interprets it, while special-purpose modeling tools help reshape it as per developers or end-users will.

It has simple yet powerful structure, applicable to almost any data model out there. Its internal architecture strongly resembles to building blocks of Object-Oriented Programming (OOP) in general, and not without reason - it's intended for developers already fluent in OOP.

Below is a short list of advantages of such pattern over existing ones: