Architecture of .NET Applications