Pretty sure that I have linked to this before, but it’s well worth a second time. MSDN patterns & practices must be the best page on the entire MSDN. A must have for anyone who plans to write any high-quality and reusable code in .NET.