Condense Light Condense.Light Condense Light is a runtime that is designed to be embedded in your web or desktop application. Everything in this document is based on an early preview of the Condense runtime. Prerequisites The Preview is available on Nuget. Condense.Core: 0.9.0.0, or Install-Package Condense.Core Condense.Light: 0.9.0.0, or Install-Package Condense.Light Couchbase Server (recommended): http://couchbase.com. This can be installed locally, or remotely (eg: EC2 - with AMIs available).
Everything in this document is based on an early preview of the Condense runtime. This preview is not publicly available. Your Project Checklist Reference Condense.Core. Create your entities as POCO object. Decorate them with the Entity attribute. Create static classes containing your static lambda methods. Decorate these with the Lambda attribute. Be sure to set the ContextType, you generally care that inputs have some sort of shared lineage.
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.
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:
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!
Part 4 placeholder.