Showing posts from October, 2014

How I Architect My ASP.NET MVC Apps (Circa Now, 2014)

I recently got a text message from a former co-worker of mine named Mark. Mark was embarking on a new project using ASP.NET MVC and wanted to know how I organize the code in my solutions. I replied with a few text messages giving a quick summary, and told him I'd write a post about it on my blog that would go into more detail.

Here's how I architect my ASP.NET MVC solutions. I'm not saying this is the way to do it, only that it's my way. A year from now it may be different. Software development is always evolving.
Before diving into the different layers of my solutions, there are certain design principles I adhere to that I find very useful and should be mentioned. These are outside the scope of this blog post, but if you aren't familiar with any of them, I highly recommend researching them. They are:
SOLID (Single Responsibility Principle, Interface Segregation Principle, Liskov Substitution Principle, Interface Segregation Principle, Dependency Inversion Principle…