As developers build larger and more distributed systems than ever before, many questions come up around modeling like, how do I represent services, how do I compose these services into physical endpoints, and how should cross-cutting concerns like authentication and auditing be handled. Join Udi for a first look at NServiceBus Studio - a modeling environment based on the decades-old principles behind NServiceBus yet fully integrated with code-generation into Visual Studio.
This talk will introduce the Reactive Extensions for .NET (msdn.microsoft.com/en-us/data/gg577609), an extremely powerful tool for developing modern desktop and web applications that should be in every developer's toolbox. I'll show how to get started with Rx, some theory about how Rx is related to LINQ and the new TPL async/await keywords, as well as showing some awesome practical examples on how to integrate Rx with your existing codebase.
Architecture isn't just the static "shape" of your software. It's the set of decisions that define it, enabling — or inhibiting — change, evolution and improvement over time.
It is also the decisions about how you verify, deploy, version, manage and monitor an application. Each of these decisions is a trade-off: there are no Best Practises. Some decisions can have a huge forward impact, and it isn't always obvious which ones!In this talk Dan offers several strategies to help you improve your architecture decision-making. He won't tell you whether to prefer stability or uncertainty, DRYness or coupling, latency or throughput, manual or automated testing.
That's up to you. But he might help you go into those decisions with your eyes open.
Some programmers are simply more effective than others. Kent Beck famously described himself as "not a great programmer, but a good programmer with great habits."
Over the last year or so I've been working with, and observing, some very good programmers with quite exceptional - and rather surprising - habits.Is there a better way than katas to learn a new language? Is copy-and-paste always evil? Should you always test-drive production code?
In this talk Dan introduces the idea of programming patterns - patterns of effective programming behaviour - and describes some of the more unusual but effective programming patterns he's collected over the last year.
These are not patterns for beginners, but then again, Dan argues that patterns aren't for beginners anyway.