Framework design guidelines : conventions, idioms, and patterns for reusable .NET libraries - Cwalina, Krzysztof (Microsoft .NET development series., 2009)