The Protocol Pattern

In C# (and F#), one can define extension methods on interfaces. These extension methods can have implementations, which can be used as default implementations for implementors of the extension. I haven’t heard a name for this technique. Example: Xamarin uses this pattern extensively when binding Objective-C Protocols, which are essentially interfaces with optional methods. For […]