Esempio di linguaggio delle regole basato su C#?
-
09-06-2019 - |
Domanda
Puoi fornire un buon esempio di linguaggio di definizione delle regole scritto in C#.
I ragazzi di Java ce l'hanno JESS, c'è qualcosa di buono per C#?
Soluzione
Questa pagina mostra alcuni esempi di motori di regole open source in C#: http://csharp-source.net/open-source/rule-engines
Altri suggerimenti
È possibile utilizzare il motore di inferenza del concatenamento diretto che fa parte di Windows Workflow Foundation (.NET 3.5 e versioni successive). La parte migliore è che dispone di una licenza runtime gratuita.
Puoi usare il Gestore delle regole da Acumen Business e installare l'adattatore Windows Workflow Foundation.Una volta installate, esportare le regole come WFRules (*.rules).Verrà generata una soluzione Visual Studio .NET che mostra come il motore delle regole può essere richiamato in modo autonomo (non è necessario alcun flusso di lavoro)
Guarda anche http://bizknowledge.blogspot.com/search/label/Windows%20Workflow%20Foundation
Tentativo http://rulesengine.codeplex.comHa un wrapper di interfaccia fluente per la creazione di regole.È leggero e semplice da usare.
Potresti usare Fondazione per il flusso di lavoro di Windows(WF) con C#.Avevo iniziato un progetto piccolo e semplice utilizzando WF come motore del flusso di lavoro, in realtà è abbastanza semplice da usare.Dai un'occhiata alla prima parte che ho sviluppato su questo Qui.
La cosa interessante di WF è che non devi usare tutto se vuoi, ma se vuoi solo scrivere alcune regole personalizzate per alcune entità o oggetti, puoi farlo, in modo piuttosto ingegnoso!Inoltre, è molto meno da prendere in considerazione rispetto al BRE di BizTalk (e nessun costo di licenza).
È necessario aggiungere un riferimento ai seguenti assembly .Net, disponibili in .Net Framework v3.0 e versioni successive:
- Attività di sistema.flusso di lavoro
- System.Workflow.ComponentModel
- System.Workflow.Runtime
Consulta l'articolo per maggiori informazioni.
Esiste il motore delle regole aziendali Microsoft: http://msdn.microsoft.com/en-us/library/aa561216.aspx.Non sono sicuro che possa essere utilizzato solo all'interno di Biztalk: dice che è una libreria di classi .Net.
Microsoft Business Rule Engine (BRE) è piuttosto carino.Ma (e questo è un grande MA) avrai bisogno di una licenza BizTalk Server per usarlo.
Dare un'occhiata a Jetfire su codeplex.Supporta il concatenamento in avanti 'regole'.