I would like to know if C# extension method is based on any existing design pattern.
Of course you can use C# extension methods if you want to implement certain design patterns. For example simulate mixins in C#.