Just launched! Get 30% off The Imposter's Frontend Accelerator Get It Now

Software Design

Understanding design principles is essential - especially if you plan on breaking them. Getting pinned in a code review is never fun, but if you can clearly explain your reasoning then breaking the rules is fun!
Repositories and Unit of Work Don't Mix

There is a trend in the .NET space of trying to abstract EF behind a Repository. This is a fundamentally bad idea and hopefully I'll explain why.

Testing Your Code: TDD and BDD

Testing code has moved beyond the realm of QA and into the realm of design, asking you to think about what you do before you do it. Let's have a look at some strategies.

Principles of Software Design

You've heard the terms before: YAGNI, SOLID, Tell Don't ASK, DRY... what are they and what do they mean?

Design Patterns: Behavioral

Mediators, Decorators and Facades - this is the deep end of object-oriented programming and something you'll come face to face with as your application grows.

Design Patterns: Structural

As your application grows in size you need to have a plan to handle the increase in complexity. The Gang of Four have some ideas that could work for you.