I would like to know if C# extension method is based on any existing design pattern.
No, they are not, because they are only syntactic sugar.