Author Archives: Jimmy Bogard

About Jimmy Bogard

I'm a technical architect with Headspring in Austin, TX. I focus on DDD, distributed systems, and any other acronym-centric design/architecture/methodology. I created AutoMapper and am a co-author of the ASP.NET MVC in Action books.

End-to-End Hypermedia: Choosing a Media Type

So you’ve decided to make the leap and build a hypermedia-rich API. Hopefully, this decision came from necessity and not boredom, but that’s a post for another day. At this point, you’re presented with a bit of a problem. You … Continue reading 

Posted in REST | 3 Comments

End-to-End Hypermedia: Making the Leap

REST, a term that few people understand and fewer know how to implement, has become a blanket term for any sort of Web API. That’s unfortunate, because the underlying foundation of REST has a lot of benefits. So much so … Continue reading 

Posted in REST | 26 Comments

CQRS with MediatR and AutoMapper

CQRS is a simple pattern – two objects for command/queries where once there was one. These days just about every system I build utilizes CQRS, as it’s a natural progression from refactoring your apps around the patterns arising from reads … Continue reading 

Posted in Architecture, AutoMapper, CQRS, MediatR | 56 Comments

Saga Implementation Patterns: Singleton

NServiceBus sagas are great tools for managing asynchronous business processes. We use them all the time for dealing with long-running transactions, integration, and even places we just want to have a little more control over a process. Occasionally we have … Continue reading 

Posted in NServiceBus | 5 Comments

Clean Tests: Database Persistence

Other posts in this series: A Primer Building Test Types Isolating Internal State Isolating the Database Isolation with Fakes Database Persistence A couple of posts ago, I walked through my preferred solution of isolating database state using intelligent database wiping … Continue reading 

Posted in Testing | 1 Comment

Clean Tests: Isolation with Fakes

Other posts in this series: A Primer Building Test Types Isolating Internal State Isolating the Database Isolation with Fakes Database Persistence So far in this series, I’ve walked through different modes of isolation – from internal state using child containers … Continue reading 

Posted in Testing | 6 Comments

Clean Tests: Isolating the Database

Other posts in this series: A Primer Building Test Types Isolating Internal State Isolating the Database Isolation with Fakes Database Persistence Isolating the database can be pretty difficult to do, but I’ve settled on a general approach that allows me … Continue reading 

Posted in Testing | 10 Comments

Reliable database tests with Respawn

Creating reliable tests that exercise the database can be a tricky beast to tame. There are many different sub-par strategies for doing so, and most of the documented methods talk about resetting the database at teardown, either using rolled back … Continue reading 

Posted in Testing | 25 Comments

Clean Tests: Isolating Internal State

Other posts in this series: A Primer Building Test Types Isolating Internal State Isolating the Database Isolation with Fakes Database Persistence One of the more difficult problems with slow tests that touch shared resources is building a clean starting point. … Continue reading 

Posted in Fixie, Testing | 12 Comments

Cross-Platform AutoMapper (again)

Building cross-platform support for AutoMapper has taken some…interesting twists and turns. First, I supported AutoMapper in Silverlight 3.0 five (!) years ago. I did this with compiler directives. Next, I got tired of compiler directives, tired of Silverlight, and went … Continue reading 

Posted in AutoMapper | 4 Comments