Factory method

Abstract factory

[]:

[]: