Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Design Patterns in TypeScript
Rating: 4.4 out of 5(313 ratings)
2,498 students

Design Patterns in TypeScript

Implement and Learn All 23 GoF (Gang of Four) Design Patterns In TypeScript.
Created bySean Bradley
Last updated 4/2022
English

What you'll learn

  • Design Patterns in TypeScript
  • Learn All 23 GoF Design Patterns
  • Creational Patterns : Factory, Abstract Factory, Builder, Prototype, Singleton
  • Structural Patterns : Decorator, Adapter, Facade, Bridge, Composite, Flyweight, Proxy
  • Behavioral Patterns : Command, Chain of Responsibility, Observer, Interpreter, Iterator, Mediator, Memento, State, Strategy, Template, Visitor
  • Learn Many TypeScript Concepts : TSC, tsconfig, ES6 Imports/Exports, Classes, Interfaces, Types, Inheritance, Static Members, Access modifiers and many more
  • UML Diagramming : Inherits, Implements, Composition, Aggregates, Association
  • Learn Each Pattern from Conceptual and Use Case Points of View
  • Develop Your Software Engineering Vocabulary

Course content

6 sections69 lectures5h 13m total length
  • Development Environment Setup5:20

    All the examples in this course will be run using the Node.js runtime. All of the code is written in TypeScript first and then converted into JavaScript that the Node.js runtime will further interpret and execute.

    So, to get started, install Node.js first.

    Open a browser and visit https://nodejs.org/en/download/

    I am using Windows 10 64-bit, so I will use the 64-bit WIndows Installer (.msi). Be sure to use the correct installer for your operating system.

    After the install has finished, depending on your operating system, whether Windows, Linux or Mac OSX, open a terminal/bash/cmd or PowerShell prompt.

    and type

    node -v


    If the install completed without issue, you should see a response similar to

    v14.15.3


    All the code written in this book should work for versions of Node.js above v10.

    Node.js also comes with another program called NPM. We will use NPM to install the TypeScript compiler (TSC).

    Check that NPM exists and works, by typing

    npm -v


    Output should be a version number and not an error. E.g.,

    6.14.9


    Now that Node.js and NPM work, we can install the TypeScript compiler (TSC) globally on our system.

    npm install -g typescript


    And then verify that the install is successful by checking the version number.

    tsc -v


    If you are using PowerShell, you may see an error concerning execution policy.

    tsc.ps1 cannot be loaded because running scripts is disabled on this system


    You have several options, such as run your commands using the classic Windows CMD prompt, Git Bash or use the tsc.cmd option instead.

    tsc.cmd -v


    When I was writing the code in this book, I was using Visual Studio Code and executing TSC using PowerShell in the VSCODE integrated terminal.

    I recommend to use VSCode, it is free and provides many useful features when coding.

    Download VSCode from https://code.visualstudio.com/

    When running PowerShell in the VSCode integrated terminal, you may also see the execution policy error.

    You can use tsc.cmd in place of tsc.

    You can even use a different terminal prompt in the VScode integrated terminal such as the classic Windows CMD, Git Bash and there are many others that you may want to set up.

  • Course Code8:06

    All the code examples in this book can be viewed from my GitHub repository at https://github.com/Sean-Bradley/Design-Patterns-In-TypeScript

    If you have Git installed, you can download a copy locally using the command

    git clone https://github.com/Sean-Bradley/Design-Patterns-In-TypeScript.git


    You can install Git for Windows from https://gitforwindows.org/.

    Linux will normally have git preinstalled.

    or,

    you can download a zip of all the code, using the link

    https://sbcode.net/typescript/zips/Design-Patterns-In-TypeScript.zip

Requirements

  • An OS such as Windows 10, Mac OSX or Linux
  • An IDE such as VSCode, Atom, Webstorm, Vim, Notepad or Just the command line.
  • A Desire to Understand the 23 GoF Design Patterns

Description

Learn All of the 23 GoF (Gang of Four) Design Patterns and Implemented them in TypeScript.

Design Patterns are descriptions or templates that can be repeatedly applied to commonly recurring problems during in software design.

A familiarity of Design Patterns is very useful when planning, discussing, managing and documenting your applications from now and into the future.

Also, throughout the course, as each design pattern is discussed and demonstrated using example code, I introduce new TypeScript coding concepts along with each new design pattern. So that as you progress through the course and try out the examples, you will also get experience and familiarity with some of the finer details of programming with TypeScript.

In this course, you will learn about these 23 Design Patterns, 

  • Creational

    • Factory

    • Abstract Factory

    • Builder

    • Prototype

    • Singleton

  • Structural

    • Decorator

    • Adapter

    • Facade

    • Bridge

    • Composite

    • Flyweight

    • Proxy

  • Behavioral

    • Command

    • Chain of Responsibility

    • Observer Pattern

    • Interpreter

    • Iterator

    • Mediator

    • Memento

    • State

    • Strategy

    • Template

    • Visitor

In the list of patterns above, there are Creational, Structural and Behavioral patterns.

  • Creational : Abstracts the instantiation process so that there is a logical separation between how objects are composed and finally represented.

  • Structural : Focuses more on how classes and objects are composed using the different structural techniques, and to form structures with more or altered flexibility.

  • Behavioral : Are concerned with the inner algorithms, process flow, the assignment of responsibilities and the intercommunication between objects.

Design patterns will give you a useful and common vocabulary for when designing, documenting, analyzing, restructuring new and existing software development projects from now and into the future.

I look forward to having you take part in my course.

Sean Bradley

Who this course is for:

  • TypeScript Developers
  • Software Architects
  • Software Engineers