Skip to content

Terms and Definitions

pcoroli edited this page May 7, 2012 · 2 revisions

Feature

This is the central term in this framework. Feature is a piece of functionality which should be enabled or disabled by Flip framework, i.e. is subject to toggling.

Feature state

This is the state of the feature for the given moment. The possible values are ENABLED and DISABLED.

Context

Imagine a scenario when a feature state should be driven not only by a given static value (i.e. ENABLED or DISABLED), but additionally rely on a series of a bit more complex logical calculations, e.g. consider feature as DISABLED for users in a given user group, or ENABLE for a given locale etc.

A feature can be enabled or disabled depending on some conditions which can be built upon the context properties. These properties are obtained from the current environment and the point of method invocation with the purpose to evaluate whether they are matching the defined conditions.

To put it simple - by term 'context' we understand an entity that provides some runtime information.

Context provider

The object used to build context. It's serving purpose of providing all of the necessary data that is crucial for Feature Rules processing.

Properties

This is the list of rules to calculate the feature state.

Property reader

The object used to read feature descriptors.

Feature descriptor

The list of features with rules and conditions used to evaluate feature state.

Feature rule

This is the list of conditions to evaluate based on the current context properties and when they match the feature become in the state declared in the rule.

Feature condition

Consider this as a simple condition for equality, inequality etc. where in the left side of operator we have the context property, and in the right side a constant to evaluate. One of the following operations can be used:

  • Equality
  • Inequality
  • Less Than
  • Greater Than
  • Less or Equal to
  • Greater or Equal to
  • Matches a regular expression
  • Does not match a regular expression

Clone this wiki locally