Design patterns in C# - Metsker, Steven John (The software patterns series, 2004)