
TypeScript 4 Design Patterns and Best Practices
By :

Inheritance increases the coupling between the parent and child classes as it makes it more difficult to change the parent class without affecting the children.
Polymorphism is an OOP concept that allows us to use a single interface or object to perform different things. Polymorphism promotes extensibility by using this flexible approach of either method overloading or having an interface sending a message to different objects at runtime.
Design patterns are common solutions to problems that were originally encountered when working with OOP languages. They have stood the test of time because they tend to appear, quite often, as a logical result of refactoring or when trying to reuse certain abstractions.
Frontend code uses HTML...