Which Architecture to Choose? - C#