Real-World Implementation of C# Design Patterns: Overcome daily programming challenges using elements of reusable object-oriented software - Van Horn II (IEEE, 2003)