We are under very early construction, so please indulge us.

Singleton design pattern


According to single-responsibility principle this pattern can be considered as an anti-pattern because involves two responsibilities. Besides being a business entity itself it also implements a strategy of its instantiation. That has all disadvantages of being badly reusable.

It is better to use factories for instantion purposes. For example, IoC container and using Autofac (C#) it will look like:

var builder = new ContainerBuilder();