<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: En generisk state machine</title>
	<atom:link href="http://blog.kjempekjekt.com/2009/06/06/en-generisk-state-machine/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.kjempekjekt.com/2009/06/06/en-generisk-state-machine/</link>
	<description>om livet som .net utvikler</description>
	<lastBuildDate>Wed, 08 Feb 2012 09:53:01 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Min tredje state machine DSL</title>
		<link>http://blog.kjempekjekt.com/2009/06/06/en-generisk-state-machine/#comment-108720</link>
		<dc:creator>Min tredje state machine DSL</dc:creator>
		<pubDate>Fri, 19 Nov 2010 08:17:23 +0000</pubDate>
		<guid isPermaLink="false">http://blog.kjempekjekt.com/2009/06/06/en-generisk-state-machine/#comment-108720</guid>
		<description>[...] I juni 2009 blogget jeg hvordan man kan implementere en generisk tilstandsmaskin i C#, inspirert av Robert C. Martin&#8217;s overgangstabeller fra boken Agile Principles, Patterns, and Practises in C#. Jeg designet også et flytende interface for å konfigurere tilstandsmaskiner – her er et tilbakeblikk på hvordan det så ut:  10 &#160; _stateMachine = new StateMachine&lt;State, Event&gt;(State.LOCKED);11 12 &#160; _stateMachine.Configure()13 &#160;&#160;&#160;&#160;&#160; .Given(State.LOCKED)14 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; .When(Event.COIN)15 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; .ThenSetState(State.UNLOCKED).AndRun(unlock)16 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; .When(Event.PASS)17 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; .ThenSetState(State.LOCKED).AndRun(alarm)18 &#160;&#160;&#160;&#160;&#160; .Given(State.UNLOCKED)19 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; .When(Event.COIN)20 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; .ThenSetState(State.UNLOCKED).AndRun(thankYou)21 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; .When(Event.PASS)22 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; .ThenSetState(State.LOCKED).AndRun(lockAction);23 [...]</description>
		<content:encoded><![CDATA[<p>[...] I juni 2009 blogget jeg hvordan man kan implementere en generisk tilstandsmaskin i C#, inspirert av Robert C. Martin&#8217;s overgangstabeller fra boken Agile Principles, Patterns, and Practises in C#. Jeg designet også et flytende interface for å konfigurere tilstandsmaskiner – her er et tilbakeblikk på hvordan det så ut:  10 &nbsp; _stateMachine = new StateMachine&lt;State, Event&gt;(State.LOCKED);11 12 &nbsp; _stateMachine.Configure()13 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .Given(State.LOCKED)14 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .When(Event.COIN)15 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .ThenSetState(State.UNLOCKED).AndRun(unlock)16 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .When(Event.PASS)17 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .ThenSetState(State.LOCKED).AndRun(alarm)18 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .Given(State.UNLOCKED)19 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .When(Event.COIN)20 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .ThenSetState(State.UNLOCKED).AndRun(thankYou)21 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .When(Event.PASS)22 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .ThenSetState(State.LOCKED).AndRun(lockAction);23 [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>

