Error in TransformGetString: Root element is missing.
Michael Perry, Principal Consultant, Improving Enterprises
courses like XAML Patterns, CQRS Theory and Practice, and Provable Code, Michael applies mathematics to software. He has built upon the works of Bertrand Meyer, James Rumbaugh, and Donald Knuth to develop a mathematical system for software development. He has captured this system in a set of open source projects, Update Controls and Correspondence. As a Principal Consultant at
, he applies mathematical concepts to building scalable and robust enterprise systems. You can find out more at
Over a decade ago, a book by four authors changed the way that we write software. It added words like Singleton, Flyweight, and Visitor to our lexicon. This book showed us how to combine these patterns to construct software at a higher level of abstraction. But it did more than that. It also gave us a template for documenting new patterns.
While the original authors focused on object-oriented languages such as Smalltalk and C++, we have added declarative languages like XAML to our toolset. We will catalog some of the patterns that we have discovered related to XAML. We will document them much like the Gang of Four did so long ago. And we will combine these patterns to raise the level of abstraction and build more useable, beautiful, and maintainable interfaces.
Don't Click Submit Twice!!!
You are losing orders. You are double-charging. And as a result, you are losing customers. When your customer sends in an order, make sure that it gets to your back end. Make sure that it gets processed once. Make sure that it gets shipped once. And, most importantly, make sure your customer gets billed once.
The typical web application is not built with durability in mind. It leaves open several small holes where data could be lost or duplicated. I'll show you how to recognize those holes. I'll show you tools and techniques to close those holes.
In this talk, we will see:
* Durable page design
* Message-driven architecture
* Service bus
* Distributed transactions
Follow these guidelines, and you will keep your customers. Even if they click Submit twice.
Modeling Settlers of Catan with Degrees of Freedom
You probably aren't writing games. But you are writing business rules. Just like the rules of games, business rules are interrelated and complex. We'll practice writing business rules by modeling games.
In any mathematical model, we identify equations and unknowns. The difference between those two tells us the number of degrees of freedom in the system. Once we know the degrees of freedom, we can identify the independent variables and the dependent variables.
We'll build mathematical models for three popular games: bowling, Dungeons and Dragons, and Settlers of Catan. We'll write code for each of these models in C# using the Update Controls dependency tracking library. This will give us the skills we need to easily model any business system.