How many developers does it take to change a lightbulb? With the State pattern, not very many.
- The State Pattern
- Design Patterns
- WPF
How many developers does it take to change a lightbulb? With the State pattern, not very many.
Ever wanted to leave a function, and then come back in where you left off? In C# yield return does the trick.
Topics include:
Entity Framework Core in-memory databases are great for unit testing, but would we ever use them in production code?
Topics include:
How do you add a method to and interface without altering the interface? In C#, the answer is extension methods.
Topics include:
Topics include:
There are big differences between .NET Framework and .NET Core, but a number of small ones too. Here's a random example - which explains a lot about .NET Standard too.
Topics include:
Dependency Inversion doesn't just mean reversing your existing dependencies. It's about making your entire system easier to extend and maintain.
Topics include:
The Single Responsibility and Open-Closed Principles help us to keep our classes under control. But how do can we do the same for interfaces?
Topics include:
Inheritance is one of the most fundamental features of Object-Oriented Programming. Why do we get it wrong so often?
Topics include:
Making classes open to extension but closed to modification can improve productivity and reduce bugs. Here's how it's done.
Topics include:
Why should a class have only one reason to change? A quick look at the first SOLID principle.
Topics include:
Most C# developers use events, but do you know how they relate to delegates? Have you ever implemented an event manually? All is explained here.
Topics include:
C# programmers use delegates and lambdas every day. But do we really understand what they are and how the are related?
Topics include:
One of the more obscure features of C#8 is the Null Forgiving Operator. Here's how it works, and when it can get you out of a bind.
Topics include:
The biggest new feature in C#8 is nullable references. Here's a quick look at how they work and why you should use them.
Topics include:
Just like JavaScript, C# has async and await keywords. Here we explore the similarities and differences between the two languages.
Topics include:
In-memory databases are great for unit testing, but tread carefully if you want to avoid false positives - and worse, false negatives.
Topics include:
Topics include:
Ever called a function passing seconds instead of milliseconds? Or metres instead of feet? Here's a robust way to avoid problems with units.
Topics include:
The pipeline works very differently in ASP.NET Core from ASP.NET Framework. Here we examine one aspect of the differences.
Topics include:
The dynamic keyword allows decisions about object type to be deferred until runtime. One benefit of this is that we can make method overloading decisions at runtime rather than having them locked in by the compiler.
Topics include:
The two interfaces IQueryable and IEnumerable seem almost interchangeable. Here I discuss one of the key differences, and how it can have a serious effect on performance.
Topics include:
How many developers does it take to change a lightbulb? With the State pattern, not very many. Topics include: The State Pattern Design Pa...