<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://dddstepbystep.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>DDD on the Web</title><link>http://dddstepbystep.com/blogs/ontheweb/default.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP1 (Build: 31106.3070)</generator><item><title>No silver domain modeling bullets by Jimmy Bogard</title><link>http://dddstepbystep.com/blogs/ontheweb/archive/2010/03/11/no-silver-domain-modeling-bullets-by-jimmy-bogard.aspx</link><pubDate>Thu, 11 Mar 2010 13:59:00 GMT</pubDate><guid isPermaLink="false">b5ce9276-785b-4c0c-806a-f36147849843:8212</guid><dc:creator>DDD Feeds</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dddstepbystep.com/blogs/ontheweb/rsscomments.aspx?PostID=8212</wfw:commentRss><comments>http://dddstepbystep.com/blogs/ontheweb/archive/2010/03/11/no-silver-domain-modeling-bullets-by-jimmy-bogard.aspx#comments</comments><description>This past week, I attended a presentation on Object-Role Modeling (with the unfortunate acronym ORM) and its application to DDD modeling&amp;quot;.&amp;#160; The talk itself was interesting, but more interesting were some of the questions from the audience.&amp;#160; The gist of the tool is to provide a better modeling tool for domain modeling than traditional ERM tools or UML class diagrams.&amp;#160; ORM is a tool for fact-based analysis of informational models, information being data plus semantics.&amp;#160; I’m not an ORM expert, but there are plenty of resources on the web. One of the outputs of this tool could be a complete database, with all constraints, relationships, tables, columns and whatnot built and enforced.&amp;#160; However, the speaker, Josh Arnold, mentioned repeatedly that it was not a good idea to do so, or at least it doesn’t scale at all.&amp;#160; It could be used as a starting point, but that’s about it. Several times at the end of the talk, the question came up, “can I use this to generate my domain model” or “database”.&amp;#160; Tool-generated applications are a lofty, but extremely flawed goal.&amp;#160; Code generation is interesting as a one-time, one-way affair. &amp;#160; But beyond that, code generation does not work.&amp;#160; We’ve seen it...(&lt;a href="http://dddstepbystep.com/blogs/ontheweb/archive/2010/03/11/no-silver-domain-modeling-bullets-by-jimmy-bogard.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://dddstepbystep.com/aggbug.aspx?PostID=8212" width="1" height="1"&gt;</description></item><item><title>Strengthening your domain: Encapsulated collections by Jimmy Bogard</title><link>http://dddstepbystep.com/blogs/ontheweb/archive/2010/03/10/strengthening-your-domain-encapsulated-collections-by-jimmy-bogard.aspx</link><pubDate>Wed, 10 Mar 2010 14:19:16 GMT</pubDate><guid isPermaLink="false">b5ce9276-785b-4c0c-806a-f36147849843:8201</guid><dc:creator>DDD Feeds</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dddstepbystep.com/blogs/ontheweb/rsscomments.aspx?PostID=8201</wfw:commentRss><comments>http://dddstepbystep.com/blogs/ontheweb/archive/2010/03/10/strengthening-your-domain-encapsulated-collections-by-jimmy-bogard.aspx#comments</comments><description>Previous posts in this series: A Primer Aggregate Construction One of the common themes throughout the DDD book is that much of the nuts and bolts of structural domain-driven design is just plain good use of object-oriented programming.&amp;#160; This is certainly true, but DDD adds some direction to OOP, along with roles, stereotypes and patterns.&amp;#160; Much of the direction for building entities at the class level can, and should, come from test-driven development.&amp;#160; TDD is a great tool for building OO systems, as we incrementally build our design with only the behavior that is needed to pass the test.&amp;#160; Our big challenge then is to write good tests. To fully harness TDD, we need to be highly attuned to the design that comes out of our tests.&amp;#160; For example, suppose we have our traditional Customer and Order objects.&amp;#160; In our world, an Order has a Customer, and a Customer can have many Orders.&amp;#160; We have this directionality because we can navigate this relationship from both directions in our application.&amp;#160; In the last post, we worked to satisfy invariants to prevent an unsupported and nonsensical state for our objects. We can start with a fairly simple test: [ Test ] public void Should_add_the_order_to_the_customers_order_lists_when_an_order_is_created...(&lt;a href="http://dddstepbystep.com/blogs/ontheweb/archive/2010/03/10/strengthening-your-domain-encapsulated-collections-by-jimmy-bogard.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://dddstepbystep.com/aggbug.aspx?PostID=8201" width="1" height="1"&gt;</description></item><item><title>Profiling Apps 1 of N: The MVC ActionLink by Hadi Hariri</title><link>http://dddstepbystep.com/blogs/ontheweb/archive/2010/03/09/profiling-apps-1-of-n-the-mvc-actionlink-by-hadi-hariri.aspx</link><pubDate>Tue, 09 Mar 2010 20:34:00 GMT</pubDate><guid isPermaLink="false">b5ce9276-785b-4c0c-806a-f36147849843:8197</guid><dc:creator>DDD Feeds</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dddstepbystep.com/blogs/ontheweb/rsscomments.aspx?PostID=8197</wfw:commentRss><comments>http://dddstepbystep.com/blogs/ontheweb/archive/2010/03/09/profiling-apps-1-of-n-the-mvc-actionlink-by-hadi-hariri.aspx#comments</comments><description>I&amp;rsquo;m starting a new series of blogs posts on profiling, where we&amp;rsquo;ll try and cover common bottlenecks and how to identify them in your applications. However, before delving deeper into the subject, let me make a small but important observation: Your bottleneck is probably not your for loop Now, replace that for loop with switch statement , an older version of some outdated algorithm that you feel needs optimizing, or that retched collection of classes that would perform better if you were using an array to loop through them, and you&amp;rsquo;ll end up with the same observation. Premature Optimization When dealing with business applications, it is unusual for major performance problems to be pinpointed down to specific portions of code or a concrete implementation of an algorithm. Usually most of the issues are bottlenecks at the data level, network level or purely down to how a business decision is made. Whether we use an ORM or use SQL directly, incorrectly formulated queries are one of the most predominant causes of bad performance. Not understanding concepts such as Lazy or Eager loading when using an ORM can be disastrous to the performance of an application, and are usually portrayed as &amp;ldquo;ORM XYZ sucks at performance&amp;rdquo;...(&lt;a href="http://dddstepbystep.com/blogs/ontheweb/archive/2010/03/09/profiling-apps-1-of-n-the-mvc-actionlink-by-hadi-hariri.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://dddstepbystep.com/aggbug.aspx?PostID=8197" width="1" height="1"&gt;</description></item><item><title>Ubiquitous and unambiguous ? by pvanooijen</title><link>http://dddstepbystep.com/blogs/ontheweb/archive/2010/03/07/ubiquitous-and-unambiguous-by-pvanooijen.aspx</link><pubDate>Sun, 07 Mar 2010 16:45:00 GMT</pubDate><guid isPermaLink="false">b5ce9276-785b-4c0c-806a-f36147849843:8163</guid><dc:creator>DDD Feeds</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dddstepbystep.com/blogs/ontheweb/rsscomments.aspx?PostID=8163</wfw:commentRss><comments>http://dddstepbystep.com/blogs/ontheweb/archive/2010/03/07/ubiquitous-and-unambiguous-by-pvanooijen.aspx#comments</comments><description>My last musings on a observed misuse of ubiquitous language (UL) led to deeper comments than I had ever realized when writing the story down. To many a non native speaker ubiquitous is at first hearing a strange word, as far as I know it is not widely used outside the world of IT. The sounding reminds of (un-)ambiguous, a term often found in the same context. There is a relation between these two words and IMHO that was the heart of the comments and led me to take another dive into the idea of UL. The term Ubiquitous Language was brought to the world of software by Eric Evans in his classic book Domain Driven Design (DDD). Where it is defined as a language based on a model and spoken by both domain experts and developers. It should be &amp;ldquo;more robust than the lowest common denominator&amp;rdquo; (p.25). Domain experts &amp;ldquo;should object to terms or structures that are .. inadequate to domain understanding&amp;rdquo; and developers &amp;ldquo;should watch for ambiguity ..&amp;rdquo; (p.27) So a good UL is a powerful common unambiguous language spoken by all experts , whatever their background, to communicate on a software system. Note the stress on the word expert. Now some people involved are not an expert. Take the old lady in my previous story...(&lt;a href="http://dddstepbystep.com/blogs/ontheweb/archive/2010/03/07/ubiquitous-and-unambiguous-by-pvanooijen.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://dddstepbystep.com/aggbug.aspx?PostID=8163" width="1" height="1"&gt;</description></item><item><title>On Small Applications by Udi Dahan</title><link>http://dddstepbystep.com/blogs/ontheweb/archive/2010/03/07/on-small-applications-by-udi-dahan.aspx</link><pubDate>Sun, 07 Mar 2010 11:32:34 GMT</pubDate><guid isPermaLink="false">b5ce9276-785b-4c0c-806a-f36147849843:8150</guid><dc:creator>DDD Feeds</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dddstepbystep.com/blogs/ontheweb/rsscomments.aspx?PostID=8150</wfw:commentRss><comments>http://dddstepbystep.com/blogs/ontheweb/archive/2010/03/07/on-small-applications-by-udi-dahan.aspx#comments</comments><description>I hear this too often: &amp;#8220;X sounds like a great pattern, but it&amp;#8217;s overkill for small applications&amp;#8221;. Many patterns have been subjected to this including (but not limited to): SOA, DDD, CQRS, ORM, etc. Often the statement is made by a person without experience in the given pattern (though possibly experienced in other patterns). Let&amp;#8217;s [...] Read More......(&lt;a href="http://dddstepbystep.com/blogs/ontheweb/archive/2010/03/07/on-small-applications-by-udi-dahan.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://dddstepbystep.com/aggbug.aspx?PostID=8150" width="1" height="1"&gt;</description></item><item><title>The Biggest Driver For Domain Modeling Decisions by Michael Nichols</title><link>http://dddstepbystep.com/blogs/ontheweb/archive/2010/03/07/the-biggest-driver-for-domain-modeling-decisions-by-michael-nichols.aspx</link><pubDate>Sun, 07 Mar 2010 06:45:00 GMT</pubDate><guid isPermaLink="false">b5ce9276-785b-4c0c-806a-f36147849843:8141</guid><dc:creator>DDD Feeds</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dddstepbystep.com/blogs/ontheweb/rsscomments.aspx?PostID=8141</wfw:commentRss><comments>http://dddstepbystep.com/blogs/ontheweb/archive/2010/03/07/the-biggest-driver-for-domain-modeling-decisions-by-michael-nichols.aspx#comments</comments><description>I just read a post from fellow devlicio.us&amp;#39;er Billy McCafferty and was considering what influences my own solutions to these concerns (ie, repositories, data transfer, etc) now. There has been an abrupt shift/growth in my thinking this year in how I perceive my domain and how I interact with or scale it. CQRS, perceived by some as a shiny new toy, and the discussions it provokes has definitely contributed to the maturity of the project I have been on by increasing its quality and adaptability. Why? My experience has been the simple shift to being concerned about what all these things are doing (behavioral mindset) instead of what they look like (stateful mindset). I now see that the decision to expose domain state at all should be one of the first decisions to make and its implications on the various infrastructural concerns should be well-understood. This seems to drive divers decisions both within the domain and how it is consumed or utilized without. The first casualty of this shift was the getters and setters (whether exposed as properties or GetX()/SetX() methods). Hiding as much state as possible radically increases the freedom in the domain, especially when going down the event-sourcing route. As you know, the moment you...(&lt;a href="http://dddstepbystep.com/blogs/ontheweb/archive/2010/03/07/the-biggest-driver-for-domain-modeling-decisions-by-michael-nichols.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://dddstepbystep.com/aggbug.aspx?PostID=8141" width="1" height="1"&gt;</description></item><item><title>A Few Thoughts on DDD, DTOs, View Models, CQS, Repositories and Separation of Concerns by Billy McCafferty</title><link>http://dddstepbystep.com/blogs/ontheweb/archive/2010/03/06/a-few-thoughts-on-ddd-dtos-view-models-cqs-repositories-and-separation-of-concerns-by-billy-mccafferty.aspx</link><pubDate>Sat, 06 Mar 2010 16:41:00 GMT</pubDate><guid isPermaLink="false">b5ce9276-785b-4c0c-806a-f36147849843:8138</guid><dc:creator>DDD Feeds</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dddstepbystep.com/blogs/ontheweb/rsscomments.aspx?PostID=8138</wfw:commentRss><comments>http://dddstepbystep.com/blogs/ontheweb/archive/2010/03/06/a-few-thoughts-on-ddd-dtos-view-models-cqs-repositories-and-separation-of-concerns-by-billy-mccafferty.aspx#comments</comments><description>What I&amp;#39;ve loved most about developing an open-source project is the ideas that I get from others who look at the work and either A) validate ideas, B) suggest that something stinks, or C) call a royal WTF and force people (e.g., me) to explain ideas more fully. It&amp;#39;s usually during these explanation attempts that light bulbs start to come on and ideas are refactored and become more substantiated (or at least more defendable). The S#arp Architecture forums have been a gold mine, IMO, for the discussion of the practical application of balanced DDD techniques on real-world projects. After feedback that I&amp;#39;ve already gotten on my recent post concerning application services and CQS and listening to and adding my two cents concerning ideas on the S#arp forums, I&amp;#39;d like to share a few ideas (that I shared on the forum) concerning drawing the line among application layers, the management of DTOs and View Models, and a general discussion of separation of concerns. (As Chris Carter correctly explained , don&amp;#39;t take these ideas at face value...use them as a point of discussion and contemplation to come to your own conclusions with your project team...and let me know what you think.) Every great developer knows that any problem...(&lt;a href="http://dddstepbystep.com/blogs/ontheweb/archive/2010/03/06/a-few-thoughts-on-ddd-dtos-view-models-cqs-repositories-and-separation-of-concerns-by-billy-mccafferty.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://dddstepbystep.com/aggbug.aspx?PostID=8138" width="1" height="1"&gt;</description></item><item><title>Better Application Services and CQS using S#arp Architecture 1.0 Q3 2009 by Billy McCafferty</title><link>http://dddstepbystep.com/blogs/ontheweb/archive/2010/03/05/better-application-services-and-cqs-using-s-arp-architecture-1-0-q3-2009-by-billy-mccafferty.aspx</link><pubDate>Fri, 05 Mar 2010 18:47:00 GMT</pubDate><guid isPermaLink="false">b5ce9276-785b-4c0c-806a-f36147849843:8114</guid><dc:creator>DDD Feeds</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dddstepbystep.com/blogs/ontheweb/rsscomments.aspx?PostID=8114</wfw:commentRss><comments>http://dddstepbystep.com/blogs/ontheweb/archive/2010/03/05/better-application-services-and-cqs-using-s-arp-architecture-1-0-q3-2009-by-billy-mccafferty.aspx#comments</comments><description>Obviously, S#arp Architecture is the bee&amp;#39;s knees when it comes to developing ASP.NET MVC applications. ;) But as a project evolves and gets larger, &amp;quot;out of the box&amp;quot; S#arp Architecture 1.0 guidance runs into a few pain points. Particularly, there&amp;#39;s poor use of the application services layer, the separation between controllers and application services is not very clear, entity listing pages become performance bottlenecks as the domain model gets sizable, there is no command/query separation (CQS) &amp;quot;out of the box&amp;quot;, and unit tests require re-occurring maintenance to deal with changes in the number of constructor parameters to controllers and application services. While the amicable and adroit Alec Whittington (who is taking over the lead role from me on S#arp Architecture) is hard at work upgrading S#arp Architecture to accommodate recent dependency upgrades and accommodating ASP.NET MVC 2, I wanted to take a stab at resolving some of the issues that I&amp;#39;ve run into, on S#arp projects over the past year. I&amp;#39;ve developed and included a sample project, built on S#arp Architecture 1.0 Q3 2009, for the following key reasons: To resolve some &amp;quot;pain points&amp;quot; that develop as S#arp projects grow to large...(&lt;a href="http://dddstepbystep.com/blogs/ontheweb/archive/2010/03/05/better-application-services-and-cqs-using-s-arp-architecture-1-0-q3-2009-by-billy-mccafferty.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://dddstepbystep.com/aggbug.aspx?PostID=8114" width="1" height="1"&gt;</description></item><item><title>Message-Based Systems for Maintainable, Asynchronous Development by Billy McCafferty</title><link>http://dddstepbystep.com/blogs/ontheweb/archive/2010/03/02/message-based-systems-for-maintainable-asynchronous-development-by-billy-mccafferty.aspx</link><pubDate>Tue, 02 Mar 2010 04:22:00 GMT</pubDate><guid isPermaLink="false">b5ce9276-785b-4c0c-806a-f36147849843:8005</guid><dc:creator>DDD Feeds</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dddstepbystep.com/blogs/ontheweb/rsscomments.aspx?PostID=8005</wfw:commentRss><comments>http://dddstepbystep.com/blogs/ontheweb/archive/2010/03/02/message-based-systems-for-maintainable-asynchronous-development-by-billy-mccafferty.aspx#comments</comments><description>Preface (you know it&amp;rsquo;s good if there&amp;#39;s a preface) In Architectural Paradigms of Robotic Control , a number of architectures were reviewed including deliberative, reactive, and hybrid architectures. Each of these exhibit a clean separation of concerns with layering and encapsulation of defined behaviors. When implemented, the various capabilities, such as planners and mobility controllers, are encapsulated into discrete components for better reusability and maintainability. A pivotal aspect not discussed in the previous article is how the various system layers and components communicate with each other, such as reporting sensor feedback and sending commands to actuator controllers. Effectively resolving this communication challenge is not only important to robotic systems but to many other industries and domains for the successful integration of disparate applications. To give credit where credit is due, this article pulls quite heavily from the patterns, taxonomy, and best practices presented in Enterprise Integration Patterns (Hohpe, 2003). This well organized book is chock full of hard learned lessons and solid guidelines for developing maintainable message-based systems. This article should not be seen as an adequate replacement...(&lt;a href="http://dddstepbystep.com/blogs/ontheweb/archive/2010/03/02/message-based-systems-for-maintainable-asynchronous-development-by-billy-mccafferty.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://dddstepbystep.com/aggbug.aspx?PostID=8005" width="1" height="1"&gt;</description></item><item><title>MSpec Live Templates by Hadi Hariri</title><link>http://dddstepbystep.com/blogs/ontheweb/archive/2010/03/01/mspec-live-templates-by-hadi-hariri.aspx</link><pubDate>Mon, 01 Mar 2010 15:07:00 GMT</pubDate><guid isPermaLink="false">b5ce9276-785b-4c0c-806a-f36147849843:7921</guid><dc:creator>DDD Feeds</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dddstepbystep.com/blogs/ontheweb/rsscomments.aspx?PostID=7921</wfw:commentRss><comments>http://dddstepbystep.com/blogs/ontheweb/archive/2010/03/01/mspec-live-templates-by-hadi-hariri.aspx#comments</comments><description>If you&amp;rsquo;re using MSpec ( Machine.Specifications ), you&amp;rsquo;ve no doubt run into the verbosity of it. Here&amp;rsquo;s a typical specification in MSpec [ Subject ( &amp;quot;Registering as new a usergroup&amp;quot; )] public class when_requesting_registration_page { Establish context = () =&amp;gt; { }; Because of = () =&amp;gt; { }; It should_display_blank_registration_form = () =&amp;gt; { }; } The code is usually divided into three areas, the Establish that defines the context, Because which is defined as the action to take, and finally one or more benefits that are defined as It sections. Having this layout makes it easier to understand specifications and both the console runner as well as ReSharper&amp;rsquo;s MSpec runner remove underscores and provide a nice formatting. Live Templates However when it comes to typing all this in, well all those brackets and symbols become tiring. For that I normally use ReSharper Live Templates. If you&amp;rsquo;re not familiar with these, think of them as code snippets that allow interaction. Each template is uniquely identified by a shortcut, which is a series of characters. To invoke it, you simply type the characters and hit TAB. It then inserts some code. Up to this point it&amp;rsquo;s like a normal snippet. The twist...(&lt;a href="http://dddstepbystep.com/blogs/ontheweb/archive/2010/03/01/mspec-live-templates-by-hadi-hariri.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://dddstepbystep.com/aggbug.aspx?PostID=7921" width="1" height="1"&gt;</description></item><item><title>Strengthening your domain: Aggregate Construction by Jimmy Bogard</title><link>http://dddstepbystep.com/blogs/ontheweb/archive/2010/02/24/strengthening-your-domain-aggregate-construction-by-jimmy-bogard.aspx</link><pubDate>Wed, 24 Feb 2010 04:12:10 GMT</pubDate><guid isPermaLink="false">b5ce9276-785b-4c0c-806a-f36147849843:7798</guid><dc:creator>DDD Feeds</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dddstepbystep.com/blogs/ontheweb/rsscomments.aspx?PostID=7798</wfw:commentRss><comments>http://dddstepbystep.com/blogs/ontheweb/archive/2010/02/24/strengthening-your-domain-aggregate-construction-by-jimmy-bogard.aspx#comments</comments><description>Our application complexity has hit its tipping point, and we decide to move past anemic domain models to rich, behavioral models.&amp;#160; But what is this anemic domain model?&amp;#160; Let’s look at Fowler’s definition, now over 6 years old: The basic symptom of an Anemic Domain Model is that at first blush it looks like the real thing. There are objects, many named after the nouns in the domain space, and these objects are connected with the rich relationships and structure that true domain models have. The catch comes when you look at the behavior, and you realize that there is hardly any behavior on these objects, making them little more than bags of getters and setters. Indeed often these models come with design rules that say that you are not to put any domain logic in the the domain objects. Instead there are a set of service objects which capture all the domain logic. These services live on top of the domain model and use the domain model for data. For CRUD applications, these “domain services” should number very few.&amp;#160; But as the number of domain services begins to grow, it should be a signal to us that we need richer behavior, in the form of Domain-Driven Design.&amp;#160; Building an application with DDD in mind is quite different...(&lt;a href="http://dddstepbystep.com/blogs/ontheweb/archive/2010/02/24/strengthening-your-domain-aggregate-construction-by-jimmy-bogard.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://dddstepbystep.com/aggbug.aspx?PostID=7798" width="1" height="1"&gt;</description></item><item><title>Transferred feed by Goeleven Yves</title><link>http://dddstepbystep.com/blogs/ontheweb/archive/2010/02/23/transferred-feed-by-goeleven-yves.aspx</link><pubDate>Tue, 23 Feb 2010 21:01:16 GMT</pubDate><guid isPermaLink="false">b5ce9276-785b-4c0c-806a-f36147849843:7789</guid><dc:creator>DDD Feeds</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dddstepbystep.com/blogs/ontheweb/rsscomments.aspx?PostID=7789</wfw:commentRss><comments>http://dddstepbystep.com/blogs/ontheweb/archive/2010/02/23/transferred-feed-by-goeleven-yves.aspx#comments</comments><description>To all of my loyal subscribers welcome back. I&amp;#8217;ve transferred my original feed to this blog.
From now on I will be talking cloud computing though and will no longer focus on Domain Driven Design, there is enough content on that topic nowadays anyway.
But if you&amp;#8217;re interested in cloud, and particulary windows azure, stay tuned&amp;#8230; [...] Read More......(&lt;a href="http://dddstepbystep.com/blogs/ontheweb/archive/2010/02/23/transferred-feed-by-goeleven-yves.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://dddstepbystep.com/aggbug.aspx?PostID=7789" width="1" height="1"&gt;</description></item><item><title>CQRS, Task Based UIs, Event Sourcing agh! by Greg</title><link>http://dddstepbystep.com/blogs/ontheweb/archive/2010/02/16/cqrs-task-based-uis-event-sourcing-agh-by-greg.aspx</link><pubDate>Tue, 16 Feb 2010 16:23:42 GMT</pubDate><guid isPermaLink="false">b5ce9276-785b-4c0c-806a-f36147849843:6990</guid><dc:creator>DDD Feeds</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dddstepbystep.com/blogs/ontheweb/rsscomments.aspx?PostID=6990</wfw:commentRss><comments>http://dddstepbystep.com/blogs/ontheweb/archive/2010/02/16/cqrs-task-based-uis-event-sourcing-agh-by-greg.aspx#comments</comments><description>Many people have been getting confused over what CQRS is. They look at CQRS as being an architecture; it is not. CQRS is a very simple pattern that enables many opportunities for architecture that may otherwise not exist. CQRS is not eventual consistency, it is not eventing, it is not messaging, it is not having separated models for reading and writing, nor is it using event sourcing. I want to take a few paragraphs to describe first exactly what CQRS is and then how it relates to other patterns. &amp;#160; CQRS Command and Query Responsibility Segregation Starting with CQRS, CQRS is simply the creation of two objects where there was previously only one. The separation occurs based upon whether the methods are a command or a query (the same definition that is used by Meyer in Command and Query Separation, a command is any method that mutates state and a query is any method that returns a value). When most people talk about CQRS they are really speaking about applying the CQRS pattern to the object that represents the service boundary of the application. Consider the following pseudo-code service definition. CustomerService void MakeCustomerPreferred(CustomerId) Customer GetCustomer(CustomerId) CustomerSet GetCustomersWithName(Name) CustomerSet...(&lt;a href="http://dddstepbystep.com/blogs/ontheweb/archive/2010/02/16/cqrs-task-based-uis-event-sourcing-agh-by-greg.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://dddstepbystep.com/aggbug.aspx?PostID=6990" width="1" height="1"&gt;</description></item><item><title>[ANN] DC ALT.NET: 2/24 - Getting the Right System with George Dinwiddie by Matthew.Podwysocki</title><link>http://dddstepbystep.com/blogs/ontheweb/archive/2010/02/15/ann-dc-alt-net-2-24-getting-the-right-system-with-george-dinwiddie-by-matthew-podwysocki.aspx</link><pubDate>Mon, 15 Feb 2010 22:28:41 GMT</pubDate><guid isPermaLink="false">b5ce9276-785b-4c0c-806a-f36147849843:6979</guid><dc:creator>DDD Feeds</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dddstepbystep.com/blogs/ontheweb/rsscomments.aspx?PostID=6979</wfw:commentRss><comments>http://dddstepbystep.com/blogs/ontheweb/archive/2010/02/15/ann-dc-alt-net-2-24-getting-the-right-system-with-george-dinwiddie-by-matthew-podwysocki.aspx#comments</comments><description>The next DC ALT.NET meeting is taking place on 2/24/2010 from 7-9PM.&amp;#160; Stay tuned to the mailing list for more information as it becomes available.&amp;#160; In this meeting, once again we have George Dinwiddie, to give a talk on talk in the language of the business and what tools along the way can help us.&amp;#160; Below is a description of the event.&amp;#160; We hope to see you there! This year we have a lot of great sessions in store including Mono, Domain Driven Design, Git and other DVCS for the .NET developer, more JavaScript topics and a lot more.&amp;#160; If you’re in the Washington, DC area, sign up for the list and hopefully you can join us. A &amp;#39;&amp;#39;Lingua Franca&amp;#39;&amp;#39; to Ensure You Get the Right System The business tells the IT department what it wants. The developers build it. The testers expect it to do something different. And neither of these turn out to be what the business had in mind. Has this ever happened to you? IT departments have always struggled with getting clear and unambiguous requirements. Automated acceptance tests that check the system with examples make a big impact on coordinating the work of developers and testers. Unfortunately, they’re often incomprehensible code to the business people asking for the...(&lt;a href="http://dddstepbystep.com/blogs/ontheweb/archive/2010/02/15/ann-dc-alt-net-2-24-getting-the-right-system-with-george-dinwiddie-by-matthew-podwysocki.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://dddstepbystep.com/aggbug.aspx?PostID=6979" width="1" height="1"&gt;</description></item><item><title>CI and Google App Engine, or “How to force your way in” by Kyle Baley</title><link>http://dddstepbystep.com/blogs/ontheweb/archive/2010/02/15/ci-and-google-app-engine-or-how-to-force-your-way-in-by-kyle-baley.aspx</link><pubDate>Mon, 15 Feb 2010 17:20:23 GMT</pubDate><guid isPermaLink="false">b5ce9276-785b-4c0c-806a-f36147849843:6973</guid><dc:creator>DDD Feeds</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dddstepbystep.com/blogs/ontheweb/rsscomments.aspx?PostID=6973</wfw:commentRss><comments>http://dddstepbystep.com/blogs/ontheweb/archive/2010/02/15/ci-and-google-app-engine-or-how-to-force-your-way-in-by-kyle-baley.aspx#comments</comments><description>If you’re the type that skips titles, we’re using Google App Engine in our project, mostly because it’s there. I jest. We’re using it because it’s scalable and high performance and reliable and whatever other reason you can think of that will keep me from having a boring debate on the difference between Google and Amazon and Microsoft. Along with Google App Engine, we’re also using TeamCity for our continuous integration server. And generally speaking, these are two very disparate topics. I.e. I’m not finding App Engine to be very CI-friendly. Deploying to App Engine from Eclipse or IntelliJ is dead simple. There are plug-ins that manage it and all you do is provide credentials. Doing it from the command line is not too bad. There’s a console utility, appcfg, that lets you upload to App Engine. So on the surface, it appears CI and App Engine play nicely. But there are a couple of quirks that don’t sit well. We’ll start with the Ant tasks I’m using from the CI server: &amp;lt;target name=&amp;quot;setAppEngineVersionToDayOfWeek&amp;quot;&amp;gt; &amp;lt;tstamp&amp;gt; &amp;lt;format property=&amp;quot;day.of.week&amp;quot; pattern=&amp;quot;E&amp;quot; /&amp;gt; &amp;lt;/tstamp&amp;gt; &amp;lt;stringutil string=&amp;quot;${day.of.week}&amp;quot; property=&amp;quot;day.of.week&amp;quot;&amp;gt; &amp;lt;lowercase/&amp;gt;...(&lt;a href="http://dddstepbystep.com/blogs/ontheweb/archive/2010/02/15/ci-and-google-app-engine-or-how-to-force-your-way-in-by-kyle-baley.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://dddstepbystep.com/aggbug.aspx?PostID=6973" width="1" height="1"&gt;</description></item></channel></rss>