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.

Put your controllers on a diet: GETs and queries

Previous posts in this series: Redux Defactoring A survey In the last post, we surveyed the field to determine the path forward. Looking at our controller (and others), our controllers aren’t too messy, but they’re well on their way. On … Continue reading 

Posted in Architecture, ASP.NET MVC, Design | 63 Comments

Put your controllers on a diet: a survey

Previous posts in this series: Redux Defactoring In the last post, I removed all the abstractions and layers from my application in order to provide a better view on what my next steps should be. This is like climbing to … Continue reading 

Posted in Architecture, ASP.NET MVC, Design | 9 Comments

Put your controllers on a diet: defactoring

Posts in this series: Redux Defactoring Before getting to far in refactoring my controller, I want to spend a little bit of time doing some defactoring, removing abstractions and such until I can see the entire amount of non-framework code … Continue reading 

Posted in ASP.NET MVC | 34 Comments

Put your controllers on a diet: redux

A few years back, I put together a talk on putting your controllers on a diet using  variety of techniques and extension points inside MVC. Well, a lot has changed in four years, and with the lessons learned from the … Continue reading 

Posted in ASP.NET MVC | 9 Comments

Evolutionary architecture boundaries

At Headspring, we’re fairly obstinate in our approach in evolving a system’s design and architecture over time. As a consulting company, we get to see a LOT of different codebases, and while it may be selection bias, we are generally … Continue reading 

Posted in Architecture, Design | 3 Comments

Scaling lessons learned–from 0 to 15 million users

The bulk of my time in the last three or so years at Headspring has been building and architecting a loyalty reward system (think Best Buy Reward Zone). I’ve worked on Very Large Systems before, Fortune 50 e-commerce sites, but … Continue reading 

Posted in Architecture | 11 Comments

Curbing long tail design

One of the perks of my job (and talking to a lot of folks) is that I get to see a lot of people’s actual code. Not gists, blog examples, or GitHub playgrounds, but real, actual, production code. Some code … Continue reading 

Posted in Architecture, Design | 21 Comments

Test styles and avoiding setup/teardown

Curious about NSpec, Amir Rajan posted a challenge that posited that NSpec can make your tests cleaner. The results are summarized here: https://gist.github.com/amirrajan/6701522 One thing that is in stark contrast with my tests: https://gist.github.com/jbogard/6690905 And the others is that I … Continue reading 

Posted in TDD, Testing | 3 Comments

Perception is Reality–The state of OSS in .NET

A response to Amir Rajan’s post that .NET OSS is DOA. The history of OSS in .NET is a long and winding road. It involves many different champions in the community, many different teams in Microsoft, and a very interesting … Continue reading 

Posted in Community, OSS | 31 Comments

AutoMapper 3.0, Portable Class Libraries and PlatformNotSupportedException

One of the major additions of AutoMapper 3.0 is the support of multiple frameworks through Portable Class Libraries. A Portable Class Library (PCL) allows a library developer to easily target multiple frameworks, as Scott Hanselman pointed on in a blog … Continue reading 

Posted in AutoMapper | 15 Comments