How do I learn system design - C#