Skip to main content
CF

Design Patterns in TypeScript

5h 6m 3s
English
Paid

Master the 23 GoF (Gang of Four) Design Patterns by implementing them in TypeScript. Design Patterns are crucial templates or descriptions used to solve recurring problems in software design. Familiarity with these patterns is invaluable for planning, discussing, managing, and documenting your software applications effectively, both now and in the future.

Throughout this course, each design pattern will be discussed and demonstrated with example code. As you learn each pattern, you will also discover new TypeScript coding concepts, enhancing your understanding and experience with the intricacies of TypeScript programming.

Course Outline

Creational Patterns

  • Factory: Understand the method of creating objects without specifying the exact class of object that will be created.
  • Abstract Factory: Delve into interfaces for creating families of related or dependent objects.
  • Builder: Learn how to construct complex objects step by step.
  • Prototype: Explore creating new objects by copying an existing object, known as the prototype.
  • Singleton: Ensure a class has only one instance, and provide a global point of access to it.

Structural Patterns

  • Decorator: Extend objects' functionality with a flexible alternative to subclassing.
  • Adapter: Allow incompatible interfaces to work together.
  • Facade: Provide a simplified interface to a complex system.
  • Bridge: Separate an object's abstraction from its implementation so the two can vary independently.
  • Composite: Compose objects into tree structures to represent part-whole hierarchies.
  • Flyweight: Support large numbers of fine-grained objects efficiently by sharing their common parts.
  • Proxy: Provide a placeholder for another object to control access to it.

Behavioral Patterns

  • Command: Encapsulate a request as an object, thereby allowing for parameterization and queuing of requests.
  • Chain of Responsibility: Allow for passing a request along a chain of handlers.
  • Observer: Define a subscription mechanism to notify multiple objects of any changes in another object.
  • Interpreter: Define a grammatical representation for a language and an interpreter to work with it.
  • Iterator: Access elements of an aggregate object sequentially without exposing its underlying structure.
  • Mediator: Define an object that encapsulates how a set of objects interact.
  • Memento: Capture and externalize an object's internal state without violating encapsulation for later restoration.
  • State: Allow an object to alter its behavior when its internal state changes.
  • Strategy: Define a family of algorithms, encapsulate each one, and make them interchangeable.
  • Template: Define the skeleton of an algorithm, deferring some steps to subclasses.
  • Visitor: Add new operations to objects without modifying the objects themselves.

Understanding the Pattern Categories

  • Creational: Abstract the instantiation process, leading to logical separation between object composition and representation.
  • Structural: Focus on the composition of classes and objects to form flexible structures.
  • Behavioral: Address communication between objects, the process flow, and responsibilities allocation.

By learning these design patterns, you will develop a crucial vocabulary for designing, documenting, analyzing, and restructuring software development projects effectively, preparing you for ongoing and future software development challenges.

About the Author: Udemy

Udemy thumbnail

Udemy is the largest open marketplace for online courses on the internet. Founded in 2010 by Eren Bali, Oktay Caglar, and Gagan Biyani and headquartered in San Francisco, the company went public on the Nasdaq in 2021 under the ticker UDMY. The platform hosts well over two hundred thousand courses across software development, IT and cloud, data science, design, business, marketing, and creative skills, taught by tens of thousands of independent instructors. Roughly seventy million learners use it worldwide, and the corporate arm — Udemy Business — supplies a curated subset of that catalog to enterprise customers.

Because Udemy is a marketplace rather than a single editorial publisher, the catalog is uneven by design. The strongest material lives in the long-form, project-based courses authored by working engineers — full-stack JavaScript, React, Node.js, Python data science, AWS, Docker and Kubernetes, mobile development with Flutter and React Native, and cloud certification preparation. The CourseFlix listing under this source is the slice of that catalog that has been mirrored here for offline-friendly viewing, organized by topic and updated as new releases land. Pricing on Udemy itself swings dramatically with the site's near-permanent sales, which is why the platform is best treated as a deep reference catalog: pick instructors with strong reviews and a track record of updating their material rather than buying on the headline price alone.

Watch Online 68 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 68 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: Development Environment Setup
All Course Lessons (68)
#Lesson TitleDurationAccess
1
Development Environment Setup Demo
05:21
2
Course Code
08:07
3
Getting Started
08:46
4
Adding tsconfig.json
08:47
5
TSC Watch
03:13
6
Let/Const
02:40
7
Common Types
02:10
8
Strings
01:55
9
Boolean
02:29
10
Number
02:08
11
Array
06:59
12
Dictionary
07:24
13
Tuple
02:31
14
Set
03:50
15
Classes
05:17
16
Interfaces
05:42
17
Abstract Classes
07:02
18
Access Modifiers
06:14
19
Static Members
06:22
20
ES6 Imports/Exports
05:38
21
UML Diagrams
05:15
22
Factory Pattern
05:25
23
Factory Use Case
05:04
24
Abstract Factory Pattern
03:52
25
Abstract Factory Use Case
03:09
26
Builder Pattern
03:03
27
Builder Use Case
04:20
28
Prototype Pattern
05:38
29
Prototype Use Case
06:31
30
Singleton Pattern
03:49
31
Singleton Use Case
03:27
32
Decorator Pattern
02:51
33
Decorator Use Case
05:07
34
Adapter Pattern
04:26
35
Adapter Use Case
06:10
36
Facade Pattern
02:14
37
Facade Use Case
03:57
38
Bridge Pattern
05:05
39
Bridge Use Case
02:01
40
Composite Pattern
06:05
41
Composite Use Case
02:57
42
Flyweight Pattern
05:23
43
Flyweight Use Case
04:03
44
Proxy Pattern
03:51
45
Proxy Use Case
05:49
46
Command Pattern
04:38
47
Command Use Case
04:16
48
Chain of Responsibility Pattern
04:11
49
Chain of Responsibility Use Case
04:01
50
Observer Pattern
04:55
51
Observer Use Case
04:53
52
Interpreter Pattern
10:12
53
Interpreter Use Case
05:00
54
Iterator Pattern
03:07
55
Iterator Use Case
03:12
56
Mediator Pattern
02:45
57
Mediator Use Case
03:34
58
Memento Pattern
04:19
59
Memento Use Case
03:43
60
State Pattern
03:02
61
State Use Case
02:57
62
Strategy Pattern
04:03
63
Strategy Use Case
02:37
64
Template Method
04:24
65
Template Method Use Case
03:53
66
Visitor Pattern
05:44
67
Visitor Use Case
02:59
68
Summary
01:31
Unlock unlimited learning

Get instant access to all 67 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Related courses

Frequently asked questions

What is Design Patterns in TypeScript about?
Master the 23 GoF (Gang of Four) Design Patterns by implementing them in TypeScript. Design Patterns are crucial templates or descriptions used to solve recurring problems in software design. Familiarity with these patterns is invaluable…
Who teaches this course?
It is taught by Udemy. You can find more courses by this instructor on the corresponding source page.
How long is the course?
It contains 68 lessons with a total runtime of 5 hours 6 minutes. Every lesson is available to watch online at your own pace.
Is it free to watch?
It is part of CourseFlix's premium catalog. A subscription unlocks the full video player; the course description, table of contents, and preview information are available to everyone.
Where can I watch it online?
The course is available to watch online on CourseFlix at https://courseflix.net/course/design-patterns-in-typescript. The page hosts every lesson with the integrated video player; no download is required.