C# design pattern : essentials - Bevis, Tony (Ability First Limited, 2012)