Design Patterns in TypeScript

Video description

In programming, there are several problems that occur frequently. To solve these problems, there are various repeatable solutions; these are known as design patterns. Design patterns are a great way to improve the efficiency of your programs and improve your productivity; you'll learn them all in this course. This course is a collection of the most important patterns you need to improve application performance and productivity.

This course starts by exploring SOLID principles to write clean code. Then you will create new objects and instance of classes with creational design Patterns. Next, you will utilize dependency injection with InversifyJS to create testable, maintainable, and extensible code.

Moving on, you will explore structural design patterns to better express the relationships between different application entities. Lastly, you will investigate behavioral patterns to add flow to your applications and add levels of communication between your entities.

What You Will Learn

  • Identify and avoid violations of the SOLID Principles
  • Create single instances of classes throughout your apps with the Singleton pattern
  • Use factories to get instances and object pools
  • Understand Dependency Injection and work with its benefits
  • Use InversifyJS and learn about dependency scope
  • Extend objects with the Decorator pattern
  • Convert interfaces using the Adapter and Facade patterns
  • Choose implementations on runtime using the Strategy pattern
  • Use the Observer pattern to notify your app s components about changes
  • Store application state using the State pattern


This video is for TypeScript/JavaScript developers with basic TypeScript knowledge who want to build and maintain complex applications using design patterns. No prior knowledge of design patterns is required for this course.

About The Author

Dimitiris Loukas: Dimitris Loukas is a software engineer currently writing Single Page Applications and using the latest JavaScript with Aurelia, Angular, C#, and .NET Core for a trading software firm. He has worked for two start-ups in the past, is active in the open source community, and loves taking up small side-projects. He has mastered Angular, Aurelia, and Vue.JS and is now interested in entering the ReactJS world. He is an early adopter of .NET Core and is fascinated by modern JavaScript and where the web is going.

Publisher resources

Download Example Code

Product information

  • Title: Design Patterns in TypeScript
  • Author(s): Dimitris Loukas
  • Release date: August 2018
  • Publisher(s): Packt Publishing
  • ISBN: 9781789347951