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.
Using interfaces, classes, and inheritance – the Factory Design Pattern
Business requirements
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 two years old.
- Infants cannot sign contracts.
- A person is...