Examples (in C#) describing design patterns