Abstract Factories are a code smell

When it comes to writing LOB applications, abstract factories are a code smell as they increase the complexity of the consumer instead of reducing it. This article describes why and offers alternatives.

read more...

- filed under .NET General, Architecture, C#, Dependency injection - twelve comments / No trackbacks - §

Dependency Injection anti-pattern: multiple constructors

When Dependency Injection is applied correctly and completely it is important that each type only has one constructor - multiple constructors are redundant, make your DI configuration fragile, and lead to maintainability issues.

read more...

- filed under .NET General, Architecture, C#, Dependency injection - nine comments / No trackbacks - §

Simple Injector 2 – The future is here

Announcing the new major release of Simple Injector. The Simple Injector is an easy-to-use Inversion of Control library for .NET and Silverlight.

read more...

- filed under .NET General, Architecture, Dependency injection, Simple Injector - No comments / No trackbacks - §

Writing Highly Maintainable WCF Services

When it comes to writing maintainable software, there is no alternative to the five core principles of object oriented design. When software is based on these principles, everything becomes significantly easier. When your software is based on these principles, writing a highly maintainable WCF web service on top of that can be done in just a matter of minutes.

read more...

- filed under .NET General, Architecture, C#, Dependency injection - eleven comments / No trackbacks - §

Returning data from command handlers

This article extends the architectural design of command handlers to allow command handlers to return data.

read more...

- filed under .NET General, Architecture, C#, Dependency injection, O/RM, Simple Injector - 22 comments / No trackbacks - §

Meanwhile... on the query side of my architecture

Command-query separation is a common concept in the software industry. Many architectures separate commands from the rest of the system and send command messages that are processed by command handlers. This same concept of messages and handlers can just as easily be applied to the query side of an architecture. There are not many systems using this technique and this article is an attempt to change that. Two simple interfaces will change the look of your architecture... forever.

read more...

- filed under .NET General, Architecture, Dependency injection - 70 comments / No trackbacks - §

Meanwhile... on the command side of my architecture

This article describes how a single interface can transform the design of your application to be much cleaner, and more flexible than you ever thought possible.

read more...

- filed under .NET General, Architecture, C#, Dependency injection - 60 comments / No trackbacks - §