Simple Example 1

For a very brief intro to Condense, we’ll start with the classic “Hello world”. Our system will take a name, and then provide a greeting as a response. We start by defining entities to represent this data. The Entity attribute marks them as a type of interest to Condense, and allows various behaviours to be configured. On GuestArrival, we wish to create a Greeting in response. Converting this requirement into a method is simple.

Simple Example 2

Following from our Simple 1 example, we will make a couple of changes to demonstrate how service calls into the runtime are decoupled from the business logic. Referring to the service contract: On GuestArrival, we will now emit a GreetingRequest. We will respond to this request with a Greeting. After this Greeting we will also arrange a coffee order for the person. New entities are required: The business logic is then updated to look like this: As before, when a GuestArrival is provided through the service, the Greeting will be returned.

Simple Example 3

For this example, we will scrap the pointless GreetingRequest, and mockup a scheduler for our guests to demonstrate the very important concepts of context and lineage. Context is how the Condense framework selects specific business entities from scant details - such as only their type eg: IUnitOfWork.Get<T>(). The full file for this example is here: https://gist.github.com/markdchurchill/925e6e076a959e8bb48df035bca3e181#file-simple3-cs This example turned from a step-by-step into a description of core concepts and probably needs to be cleaned up!

Simple Example 4

Part 4 placeholder.