Building Solutions with the Microsoft .NET Compact Framework: Architecture and Best Practices for Mobile Development