Menu

Home

Wojtek

Welcome to RulesFramework project home page!

Introduction

The purpose of RulesFramework project is to create framework that will provide:

  • mechanism for business rules execution
  • mechanism for easy and type safe rules creation in code
  • intuitive rules editor GUI component
  • facility for easy creation of rules editor GUI in any technology

Supported languages: C#

Implemented Features

  1. Rules execution using RuleEngine class and reflection mechanism.
    • RuleEngine class allows to execute rules on given business object. There is no type limitation according to target object, however RuleEngine is a generic class, so one instance can work only on business objects of given type or derived classes. Current implementation uses reflection mechanism for rules execution.
  2. Rules edition using GUI component (RulesEdit)
    • RulesEdit class is a WinForms component allowing to edit rule in user friendly way. Rule criteria and actions are presented using domain specific language, making rules more understandable. It offers also an utility for criteria / actions construction by selecting operations that applies to given context, or defining constant values.
    • DefinitionScanner class allows to scan assemblies and types for operations that could be used for rules construction in GUI editor.
  3. Rules creation in code using RulesFactory class
    • RulesFactory allows to create rules in code in fluent and type safe way by using lambda expressions.

Useful pages

[Roadmap]: project roadmap

Additional information

Project admins:

Project Admins:

Project structure

Folder Description
RulesFramework core library
RulesFramework.UT unit tests for RulesFramework library
RulesFramework.WinForms WinForms implementation of GUI editors
RulesFramework.RulesEditorDemo simple demo application presenting capability of GUI editor and RuleEngine
thirdparty thirdparty libraries and resources
res resource folder

Screenshots

Screenshot thumbnail
Constant value editor
Screenshot thumbnail
Rules Edit presentation in Demo application
Screenshot thumbnail
Operation selection for rule action


Related

Wiki: Roadmap