Practical .NET


Best Practices for Designing a Fluent API

You can't "grow" a fluent API; you need to understand how developers will need (and expect) to use your API. Here's a case study of what the design process for a fluent API looks like.

Creating Useful Naming Conventions: Business Considerations

Peter continues to look at the value of imposing naming conventions on developers; but this time, he looks at the benefits related to understanding the business problem, as well as why flexibility is crucial.

Implementing a Fluent Interface

Here's how to implement a fluent API for a single class that supports the goals of fluent interfaces.

Writing User Manuals: Get Someone Else To Do It (Seriously!)

Just because you've created an application, it may not need a user manual, guide or help system. And, even when your application does need that kind of support, you should -- at all costs -- avoid writing it.

When To Build Fluent Interfaces for Re-Use and Clarity

Fluent methods are a hot design idea and they can improve the readability of your code. However, they only make sense in specific scenarios. Here are some criteria to help you decide if you should be creating a fluent interface, and some design guidelines for when you do.

Handling Record Contention in Code-First Entity Framework

Peter returns to the topic of managing multiple users accessing the same row in a table using Entity Framework, but this time using code-first development. There are some unexpected issues to deal with.

Creating Useful Naming Conventions: Technical Considerations

Naming conventions are obviously a good thing, right? Not necessarily -- and only if you understand the problem they solve.

UI Practicalities: Determining the User's Intent

After having a UI design invalidated during usability testing, Peter has to find a way to figure out what the user wants the application to do.

Test-Driven Development with Content Negotiation in the Web API

There's no doubt that the ASP.NET Web API is a wonderful thing. But developing services that support content negotiation in a testable way requires a little setup.

Checking Collections and Working with Objects in Visual Studio Test

Peter looks for help in building an extension method that will let him compare two objects in a Visual Studio Test. In return, he introduces the CollectionAssert class.

Going Beyond Usernames and Roles with Claims-Based Security in .NET 4.5

Claims-based security lets you manage your site's authorization process using any criteria that makes sense to you. And the Microsoft .NET Framework 4.5 provides some performance support for you once you start using claims-based security.

UI Practicalities: Managing Data

Here's an example of how user stories, personas, usability testing and the practicalities of navigating with a mouse define a UI. Peter Vogel also discusses how he feels about error messages.

No Comment, Part 3: Writing 'Really Obvious Code'

Peter looks at how rewriting some complex code -- purely to make it easier to read -- eliminates the need for writing comments. He even adds a comment to some code.

Leveraging Claims-Based Security in ASP.NET 4.5

Microsoft .NET Framework 4.5 support for claims-based security can make your existing authorization system more powerful and flexible, even if you never intend to start working with third-party security providers. Plus, it's backward-compatible with virtually all of the authorization code you're already using.

The Myth of the Intuitive UI

The new Apple iOS stops looking like anything but a computer's UI -- but do you care?

Upcoming Events

.NET Insight

Sign up for our newsletter.

I agree to this site's Privacy Policy.