Skip to content

Sponsor: Do you build complex software systems? See how NServiceBus makes it easier to design, build, and manage software systems that use message queues to achieve loose coupling. Get started for free.

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

Principles

Throw Out Your Dependency Injection Container

Dependency injection containers (aka inversion of control containers) seem to be common in most modern applications.  There is no argument against the value dependency injection, but I do have a couple arguments against using a dependency injection container.  Like many other design patterns and practices, over time the development community seems to forget the original problem the pattern or practice was solving. Constructor & Setter Injection Passing your dependencies via the constructor is generally a better way of injecting dependencies instead of  setters. Constructor injection gives you a much clearer definition of what dependencies are needed in order to construct the object into a valid… Read More »Throw Out Your Dependency Injection Container

Idiotic Interview Questions

Interviews questions always seem to be a topic that comes up frequently at a developer peer group I attend and while at work.  In a recent .NET Rocks! podcast, they touched on this topic and brought up the Fizz Buzz Test.  We have all been in interviews where we are given some ridiculous programming question, that is “intended” to show the interviewer your problem solving skills.  Or maybe (I think likely) they ask these questions because they are the stock questions, and everyone asks them.  It’s like asking someone for their strengths and weaknesses.  Do you really think people aren’t… Read More »Idiotic Interview Questions

Domain Driven Design Quickly

I just realized that it has been almost 10 years since Eric Evans wrote Domain-Driven Design: Tackling Complexity in the Heart of Software.  Although it’s not new, it is still gaining awareness  and is still very relevant.  I’ve mentioned DDD in many of my posts so I figured I needed to provide some resources. If you are new to Domain Driven Design and want a summary instead of jumping into Eric Evans book, then Domain Driven Design Quickly is for you.  Produced by InfoQ.com, this cliff notes book provide introductions to all the fundamentals of DDD. DDD Quickly can be downloaded… Read More »Domain Driven Design Quickly