Factory and Adapter Patterns | CodeSignal Learn