Istnieją silniki obliczeniowe parametrów skalarnych, a tam są silniki obliczeniowe wyższego poziomu dla tabel, zwykle używane w aplikacjach takich jak planowanie finansowe, obliczenia opłat i prowizji, obliczenia sieciowe i kontraktowe ...
Pozwól mi wyjaśnić to wkrótce. Rozważ następujące formuły dla skalarów:
1) z = f1(x,y)
2) p = f2(z,n)
3) q = f3(x,p)
...
i tak dalej. Konfiguracja takich funkcji i drzew zależności wymaga silnika obliczeniowego o parametrach skalarnych. Chciałbym (także) polecić następujący link dla takiego silnika obliczeniowego zapisanego w C# jako dobry punkt wyjścia: http://www.codeproject.com/Articles/246374/A-Calculation-Engine-for-NET
Jak wspomniano, istnieją również silniki obliczeniowe z funkcjami tabel, które przyjmują tabele jako parametry. Główna zasada jest jednak taka sama:
1) (T4, T5) = TableFunction1(T1, T2, T3)
2) (T7, T8) = TableFunction2(T2, T4)
...
i tak dalej. Zwróć uwagę, że funkcja tabeli może zwracać wiele tabel jako dane wyjściowe, jak pokazano powyżej.
tam dwie kluczowe kwestie, których należy przestrzegać tutaj:
a) Wartości stołów T7 i T8 zależeć na stołach T2 i T4. Dlatego tabele T7 i T8 należy zaktualizować, wykonując funkcję "TableFunction2" tylko w przypadku zmiany jednego z parametrów wejściowych T2 lub T4.
Podobnie, T4 należy aktualizować tylko wtedy, gdy T1, T2 lub T3 są aktualizowane; drzewo zależności!
b) Oddzielenie bazy danych od procesu obliczeniowego: Silnik obliczeniowy musi działać niezależnie od dowolnej struktury danych lub schematu bazy danych, aby można go było zintegrować z dowolną bazą danych i strukturą danych.
można znaleźć powiązany artykuł w którym zasady te są wyjaśnione na stronie:
architektura logiczna z regułowy Kalkulacja ram http://finaquant.com/logical-architecture-of-a-rule-based-calculation-framework/1053
Teraz, C#/.NET biblioteka dla silnika obliczeniowego z tabelami. w miarę opracowywania parametrów wejściowych i wyjściowych w oparciu o te zasady.
Uwaga dla moderatorów: Usuń powyższy link, jeśli jest on traktowany jako autopromocja.
Wyszukiwanie "reguł silnika" w Windows Workflow Foundation. –
Nie wiem, czy już istnieje, ale wygląda na to, że i tak warto to zaimplementować, po prostu potrzebujesz INotifyPropertyChanging i dekompresję drzewa Expression do depedencji łącza. – Guillaume86