Contents tagged with ndecision

  • NDecision

    NDecision is a Fluent decisioning engine written with Behavior Driven Development principles in mind. It makes business logic easy, allows the encapsulation of logic flow into chainable statements that can be set up and executed on object instances using Lambda syntax. If you're a BDD practitioner, NDecision will allow you to write your BDD rules using easy-to-follow conventions and familiar Gherkin nomenclature. Likewise, if you're a TDD practitioner, your NDecision specifications (the actual rules you write using Lambda expressions) can be used simultaneously in your unit tests. Rather than separate the unit testing code from the true application code, NDecision allows you to write the rules once, test them, and then use them in your real production code. 

  • Allowing for Saga-like Execution in NDecision

    After the first post on NDecision I realized there’s room for improvement – allow for multiple directions when a test expression passes. This way one .Run() call on a target results in the ability to chain multiple processes together. Kind of like a Saga in ESB, but maybe not quite. Anyway, here’s the test that demonstrates the ability.

  • Generics/Reflection Tricks Part 2: NDecision

    This post serves a dual purpose, to add to the list of articles in the series on Generics and Reflection. It also introduces a Fluent business logic processor I’ve built about 100 times in other incantations but I think all eventually leading up to this point. In keeping with my current trend of hypercomplicating the sublime by making giving it a Fluent interface to make it easy for reuse later on, the result was, as my friend Bill Hargett would probably say, is an object-oriented way of representing a procedure. Pretty much. So that’s our goal statement.