Dependency Injection is one of those terms that advanced programmers throw out with an expectation and assumption of full understanding on the part of the receiver. However, I constantly get asked by attendees, students, and clients to please recommend a good DI product and show them how to use it; and when I proceed to start talking about the subject, it becomes immediately apparent that many don't even know what they're asking about. It's easy to get infatuated by a cool buzz phrase, specially when you hear so many others using it. But to truly understand something you need to start by understanding the problem spaces that it is trying to solve. So let's bring you totally up to speed then. In this session, I'll explain dependency injection from concept to implementation, and use raw code samples to show you how it works and what problems it solves. Then I'll get into what a DI container is and some of the characteristics of the ones that are out there, including MEF. I'll end by showing you implementation examples in three different platforms.
Test Driven Development is easy, if your code has no dependencies that is. The reality of our world is mired with dependencies, however. All the idealistic approaches to unit testing soon fall flat when the tests meet the realities. Mocking can be an effective way to alleviate these concerns, at least that is what we have been told. However, mocks often tend to burden our tests and make them hard to maintain. Seems like we are in a quagmire. In this presentation we will learn some simple techniques that can help us be quite effective with mocking. We will start a couple of problems that have dependencies. We will then take up the task of creating automated unit tests for it. Along the way, using testing and mocking tools, we will learn some effective ways to deal with the dependencies and create maintainable automated tests.
ASP.NET’s been around for a number of years and the team’s developed some DOs and DON’Ts. Let’s explore out very best list of DON’Ts that you can apply today at work! Come see Damian Edwards, Senior Program Manager on the ASP.NET team, share internals, secrets and not-so-secrets of the ASP.NET APIs that you should be exploiting and the ones you should be avoiding.
Tests are a good thing, right? But how much should we test? What's not enough? What's too much? What should we test, and when?
In this talk, we'll look at the many levels of testing, from the outermost UI tests to unit tests, what works well, what doesn't work well. We'll look at functional testing, subcutaneous testing, integration and unit testing and where and why we would want to do each. We'll arrive at a testing strategy for the sane without retreating into dogma by looking at real-world examples of how testing strategies differ per environment and team.
At the end, you feel the fulfillment of a customized, holistic testing strategy that works for you and your team.
C# 5 has one big feature... asynchronous functions, aka "async/await". It's ever so exciting, whether you're writing client code which needs to have a responsive UI without turning your code into spaghetti, or server code where you really don't want to start 100,000 threads just because you've got a high traffic web server which needs to perform long-running tasks. In this talk I'll demonstrate what async functions look like, then dive into how they work under the hood. Be warned: once you've used C# 5, all other asynchronous code will look atrocious.
(I'll also demonstrate the other new features of C# 5 - that will take about 5 minutes, at most...)