Developer Support

Advocacy and Innovation

It’s PASS Summit Season and Premier Developer is in the house!

If you are a SQL Server professional, you probably know that November is Summit season in the US.  The PASS Summit is the largest gathering of SQL Server professionals in the world and it provides not only a world-class training opportunity, but an opportunity to network and socialize with SQL Server professionals from around the globe.&...

Microsoft Services 101: Premier Developer

When it comes to choosing a service provider to partner with in your business, the field is cluttered with countless vendors and possibilities.  With so many options to choose from, finding just the right fit for your organization can be a daunting task.  Even within Microsoft there are many different types of services offered and ...

Developer Essentials Passport

If you are a developer or an IT Pro, you know that keeping up with essential skills is a constant challenge.   One of the primary benefits of a Premier Support relationship is having access to the many training options and advisory services available directly from Microsoft.  Workshops, Webcasts, Tech Talks, and Chalk Talks are ...

Testing the Testing Strategy

Having healthy application lifecycle management (ALM) processes is crucial to producing robust software.  ALM guidance is one of the primary services the Premier Development consulting team delivers and our ALM consultants are highly in demand!  Our team is growing and this past summer we were lucky to have Geoff Gray join our team.&...

Welcome to Premier Developer

Software is our era’s driving force of innovation.  It is constantly changing how we live and work, and businesses everywhere are adapting to mobile, connected, and global economies.  Cloud innovations that open new markets and optimize resources are creating competitive advantages on a daily basis – and these advantages are capitalized ...

So many exceptions… but only one can throw

When a method may throw for more than one reason, the thoughtful programmer might ask “which exception should be thrown?”Consider a method which performs argument validation, is cancelable, and also might throw based on the state of the object. What order should these validations occur so that the best exception is thrown? Here is ...

Recommended patterns for CancellationToken

Whether you're doing async work or not, accepting a CancellationToken as a parameter to your method is a great pattern for allowing your caller to express lost interest in the result. Supporting cancelable operations comes with a little bit of extra responsibility on your part. Optional CancellationToken ...

Immutable Object Graph updates

In my last post, I introduced a T4 template that constructs efficient and quite capable immutable objects based on the simplest mutable type definition. I also mentioned that the published sample is (necessarily, ala T4 style) open source and hosted online. Two outsiders have already submitted pull requests that have been accepted. Some ...

Simple immutable objects

We’re all familiar with immutable collections now. But immutability is only as immutable as it is deep. And an immutable collection of mutable objects may not provide the depth you’re looking for. So how can one create an immutable object? Suppose you would define the mutable version like this: An immutable version might be ...