Design Patterns in C# door