Using interfaces, classes, and inheritance - the Factory Design Pattern
To illustrate how we can use interfaces and classes in a large TypeScript project, we will take a quick look at a very well-known object-oriented design pattern--the Factory Design Pattern.
As an example, let's assume that our business analyst gives us the following requirements:
- You are required to categorize people, given their date of birth, into three different age groups---Infants, Children, and Adults.
- Indicate with a true or false flag whether they are of a legal age to sign a contract.
- A person is deemed to be an infant if they are less than 2 years old.
- Infants cannot sign contracts.
- A person is deemed to be a child if they are less than 18 years old. ...