Q&A: .NET

Published on Monday, July 22, 2019
Last updated Wednesday, October 25, 2023
2 min read

Can you tell us a bit about how you started and your journey with different .NET frameworks?
I started my career working with older .NET Framework solutions, which involved .NET Remoting and WCF for the API layer and WebForms and WinForms for the UI. It wasn't until my current role that I got a deep dive into .NET Core, which is now my primary focus.

How has your focus shifted within the .NET Core environment lately?
My team and I have been mainly working on .NET Core MVC projects, particularly for our smaller clients. The architecture helps us get their solutions up and running quickly. However, we've been pivoting to Web APIs lately, especially for larger clients who are demanding more extensible access to their data.

Why do you prefer using Web APIs over other approaches?
Web APIs offer us a lot of flexibility in choosing technologies for the presentation layer. Unlike MVC, where data can get "trapped" due to design choices, Web APIs allow for greater decoupling, making it easier to interface with different front-end frameworks like Angular.

Your team seems pretty lean. How do you manage database development?
We rely on Entity Framework and adopt a code-first approach. Given the limited resources—our team comprises four developers, a designer, and three managers—it’s impractical to dedicate one person to database administration full-time. One challenge we've faced is in migrating data from older databases to new structures, particularly when the older databases didn't use Entity Framework.

Could you share your experience with Dependency Injection and how it's integrated into your work?
Certainly. We use the built-in dependency injection features of the .NET Framework. Dependencies are injected into MVC Controllers, API Controllers, and various services. We're cautious to avoid circular dependencies, particularly when services depend on other services.

What about unit testing? How does your team approach this?
Currently, we use MSTest for unit testing our service methods. But I have to admit, we haven't fully embraced a test-driven development approach yet. In a previous role, I had to set up unit tests for existing code, and I opted for NUnit and Moq, mainly for their approachability and the team's familiarity with them.

Do you have plans to extend testing practices to front-end technologies?
Yes, that's definitely on the radar. I'm particularly interested in integrating Protractor for our Angular projects to ensure robust front-end testing.