Book Image

TypeScript 4 Design Patterns and Best Practices

By : Theofanis Despoudis
Book Image

TypeScript 4 Design Patterns and Best Practices

By: Theofanis Despoudis

Overview of this book

Design patterns are critical armor for every developer to build maintainable apps. TypeScript 4 Design Patterns and Best Practices is a one-stop guide to help you learn design patterns and practices to develop scalable TypeScript applications. It will also serve as handy documentation for future maintainers. This book takes a hands-on approach to help you get up and running with the implementation of TypeScript design patterns and associated methodologies for writing testable code. You'll start by exploring the practical aspects of TypeScript 4 and its new features. The book will then take you through the traditional gang of four (GOF) design patterns in their classic and alternative form and show you how to use them in real-world development projects. Once you've got to grips with traditional design patterns, you'll advance to learning about their functional programming and reactive programming counterparts and how to couple them to deliver better and more idiomatic TypeScript code. By the end of this TypeScript book, you'll be able to efficiently recognize when and how to use the right design patterns in any practical use case and gain the confidence to work on scalable and maintainable TypeScript projects of any size.
Table of Contents (14 chapters)
1
Section 1: Getting Started with TypeScript 4
4
Section 2: Core Design Patterns and Concepts
8
Section 3: Advanced Concepts and Best Practices

Conventions used

There are a number of text conventions used throughout this book.

Code in text: Indicates code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. Here is an example: "For example, the client would not need to add another service object with an ApiServiceV2 type."

A block of code is set as follows:

export class EventCreator implements EventSender {
  sendEvent(action: string): void {
    console.log("Event Created: ", action);
  }
}

When we wish to draw your attention to a particular part of a code block, the relevant lines or items are set in bold:

export class Client {
  actionCreator: ActionSender;
  call() {
    this.actionCreator = new ActionCreator();
    this.actionCreator.sendAction("Hello");
    this.actionCreator = new EventAdapter();
    this.actionCreator.sendAction("Another Action");
  }
}

Any command-line input or output is written as follows:

Property 'name' has no initializer and is not definitely assigned in the constructor.ts(2564)
Property 'id has no initializer and is not definitely assigned in the constructor.ts(2564)

Bold: Indicates a new term, an important word, or words that you see on screen. For instance, words in menus or dialog boxes appear in bold. Here is an example: "Once installed, you want to open the book projects folder using the following menu dialog: File | Open | (Project)."

Tips or important notes

Appear like this.