Recent Posts
Agile Architecture according to Dan North
Updated on March 3rd 2012 with a PDF of Dan North’s mind map On the first day of the QCon conference in San Francisco, I attended a full-day tutorial titled "Secrets of Agile Architecture" hosted by Dan North. I didn't really know what to expect, but I was hoping for some refreshingly new insight...
A weekend in San Francisco
This week I'll be attending QCON, an international conference on architecture and Agile held in San Francisco. Because a flight on Sunday was 400 euros more expensive than a flight on Saturday, I decided to rent a nice convertible and use the day off to take a nice road trip through the area to t...
Silverlight Cookbook: ViewModels, Coroutines and Binding Conventions
This post is part of a series of blog posts detailing various aspects of the Silverlight Cookbook, an initiative to demonstrate proper design choices for building enterprise-class line-of-business applications with Silverlight (and WPF if you will). It currently consists out of the following part...
ALM Practices Part 12: Reducing Technical Debt
What is it? Technical Debt is every change to your code base that does not comply with the usual level of quality your team has agreed upon. Since this level of quality has been introduced to guarantee a healthy code base throughout the life time of the system, introducing technical debt essenti...
My Silverlight 4 Reference Architecture: The Domain Model
The Domain Model is roughly designed according to the DDD principles where cross-aggregate logic is handled by the command handlers instead of the more traditional domain services. One thing that I changed after I attended Greg Young's DDD/CQRS training is that I no longer allow my domain entitie...
My Silverlight 4 Reference Architecture: Querying
After having put the introduction and the commanding part behind us, let me explain how I deal with querying. Consider the following slice of the reference architecture. My original intention was to use WCF Data Services combined with NHibernate on the query side. For one, because it allo...