Patterns in .NET: Citing the Strategy pattern
Strategy
is a quite frequently used pattern. Strategy pattern involves "defining a family of algorithms, encapsulating each one, and making them interchangeable. Strategy lets the algorithm vary independently from clients that use it."
Essentially strategy entails creating an abstract class or an interface abstracting the family of algorithms to be used. I must say that there are umpteen applications of this pattern within the BCL. Let's examine one of them here:
IComparer is an interface defined in the System.Collections namespace and defines a method that can compare two objects. It's primary purpose is to provide a way to customize the sort order of a collection, which is required in the Array.Sort and Array.BinarySearch method implementations. So mapping this to the Strategy (refer to the link above for the class diagram of the pattern):
Icomparer Interface : Strategy, Array class : Context
On similar lines, another citation would be IListSource / IList, which is used in data binding in Webforms/Windows forms.
I will leave it as an exercise to the adept .NET Fx developer to just add plenty more to this list!