Design Pattern examples in .NET