Several examples of the implementation of GoF Design Patterns in C#