cratis-legacy / DotNET.Core

0 stars 0 forks source link

Rules on top of Specifications #4

Open einari opened 8 years ago

einari commented 8 years ago
einari commented 8 years ago

A rule engine built on top of the specifications with the concept of BrokenRule pointing to well known broken rules.

This will be an essential part of Cratis and all components built on top. Rules should have the possibility to add dependencies.

Dependencies can then be observables that can change - a natural thing to think about here is an extensibility to be able to notify clients when dependencies change and also the result of a rule or chain of rules (re-evaluate any dependencies).

One idea is to think of dependencies between rules as well. Think of something like a property called IsValid - and this being an observable. A computed result of this would be an aggregate throughout the chain of dependencies. On the specific rule that is not valid you would find an enumerable of BrokenRule.