Какой паттерн проектирования используется в данном коде?

class A: pass

class B: pass

def f(cls, *args):

return cls(*args)

a = f(A)

b = f(B)