Injeção manual de dependência

Se você não gosta de nada do IoC que existe por aí, vai adorar esta maneira sofisticada de injetar suas dependências manualmente.

Primeiro, se você não sabe o que diabos é DI, tenho certeza de que você usa esta linha de código várias vezes:

MyBusinessLayer _myBusinessLayer = new MyBusinessLayer();
var results = _myBusinessLayer.GetAll();

Não use mais. Use isso.

public static class BL<T> where T : new()
{
public static T GenericBL
{
get { return new T(); }
}
}

var results = BL<MyBusinessLayer>.GenericBL.GetAll();

Muito simples, não acha?