Poka-yoke code: APIs for stupid programmers
Some code is beautiful and easy to use; other code sucks. The difference is often how well the code adheres to the often-misunderstood principle of Encapsulation. Learn how to think explicitly about Encapsulation and the Robustness Principle - it's not about making code easy to use; it's about making it difficult to make mistakes.
Code examples in C#.