Skip to content

Learn more about Software Architecture & Design.
Join thousands of developers getting weekly updates to increase your understanding of software architecture and design concepts.

Follow @CodeOpinion

ConfigR: Look Mom, No XML

I stumbled upon ConfigR a several months ago  on twitter from Glenn Block.  It uses ScriptCS (and Roslyn) and was developed by Adam Ralph. I finally got around to take it for a test drive on a side project.  It’s really a simple tool that I’ve been waiting for. Why ConfigR? The purpose of ConfigR is pretty straight forward.  It allows you to write C# code to define configuration settings which you would normally place in a the appSettings section of a web.config/app.config. If you have used the appSettings at all, you probably wished they could be typed instead of always having to… Read More »ConfigR: Look Mom, No XML

How to get started with CQRS & Event Sourcing

When I first heard about CQRS & Event Sourcing concepts through various blogs and videos, primarily from Greg Young and Udi Dahan, I wanted to apply it everywhere. It seems really natural to want to take the limited knowledge we have about a new concept or technology and try and apply it to any problem. Most of us know this is a terrible idea, but we are so tempted to push the concepts on a problem that it just doesn’t fit. I realize I’m grouping CQRS and Event Sourcing together in this post.  Generally, if you are applying Event Sourcing then… Read More »How to get started with CQRS & Event Sourcing

Handling Async Await Exceptions

Async/Await There’s a ton of information about async await support in .NET 4.5.  I don’t want to go over all the best practices and gotchas in this post, but I did want to point out one common trend I’ve seen lately, which is handling async await exceptions. Await or forget about it Any async method that returns a Task or Task<T>, you should always await the result. If you do not await, any exceptions that occur in the calling method will be swallowed.  Essentially you are turning the method call into a fire and forget. Async Await Exceptions Example Below is a simple example that… Read More »Handling Async Await Exceptions