Design Patterns In TypeScript — Factory

How to create an object without exposing the creation logic