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
- 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.
- 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.
- 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
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
Constant value editor
Rules Edit presentation in Demo application
Operation selection for rule action