<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>SuppleDesign - Marc Vangrieken's blog</title>
	<atom:link href="http://viss.be/feed/" rel="self" type="application/rss+xml" />
	<link>http://viss.be</link>
	<description></description>
	<pubDate>Tue, 02 Feb 2010 10:53:24 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>Idea: a lightweight CQRS utility library</title>
		<link>http://viss.be/2010/02/02/idea-a-lightweight-cqrs-utility-library/</link>
		<comments>http://viss.be/2010/02/02/idea-a-lightweight-cqrs-utility-library/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 09:34:27 +0000</pubDate>
		<dc:creator>Marc Vangrieken</dc:creator>
		
		<category><![CDATA[Alt.NET]]></category>

		<category><![CDATA[CQRS]]></category>

		<category><![CDATA[Software Design]]></category>

		<guid isPermaLink="false">http://viss.be/?p=31</guid>
		<description><![CDATA[Yesterday I started implementing some utilities to speed up development inside a CQRS architecture. In this first attempt I&#8217;m trying to reduce the friction that exists between the &#8220;typical style&#8221; of client side development and sending commands back to the server. The core idea is that there&#8217;s no need for code inside to UI layer [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday I started implementing some utilities to speed up development inside a CQRS architecture. In this first attempt I&#8217;m trying to reduce the friction that exists between the &#8220;typical style&#8221; of client side development and sending commands back to the server. The core idea is that there&#8217;s no need for code inside to UI layer that creates the commands; they should be inferred from state changes that happen through databinding. This allows for increased development time on task based as well as more regular UI&#8217;s. This code snippet gives you an idea of the concept.</p>
<blockquote><p>public class PersonDto : ClientSideRepositoryItem<br />
{<br />
public Guid Id { get; private set; }</p>
<p>[OnValueChanged(typeof(ChangePersonsMaritalStatusCommand))]<br />
public int MaritalStatus { get; set; }<br />
}</p></blockquote>
<blockquote><p>public class ChangePersonsMaritalStatusCommand: ICommand<br />
{<br />
public Guid Id { get; private set; }<br />
public int MaritalStatus { get; set; }<br />
}</p></blockquote>
<p>The ClientSideRepositoryItems build themselves a list of commands that can be flushed to the server in order to apply them. Autocreating the commands and setting its properties will involve some conventions. And I will need to add support for collections, value based command selection perhaps and some neat algorithms to keep the command list sane.</p>
<p>This is just an idea at this stage; I&#8217;m not sure it will work. Send me feedback!</p>
]]></content:encoded>
			<wfw:commentRss>http://viss.be/2010/02/02/idea-a-lightweight-cqrs-utility-library/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
