Book Image

TypeScript Design Patterns

By : Vilic Vane
Book Image

TypeScript Design Patterns

By: Vilic Vane

Overview of this book

In programming, there are several problems that occur frequently. To solve these problems, there are various repeatable solutions that are known as design patterns. Design patterns are a great way to improve the efficiency of your programs and improve your productivity. This book is a collection of the most important patterns you need to improve your applications’ performance and your productivity. The journey starts by explaining the current challenges when designing and developing an application and how you can solve these challenges by applying the correct design pattern and best practices. Each pattern is accompanied with rich examples that demonstrate the power of patterns for a range of tasks, from building an application to code testing. We’ll introduce low-level programming concepts to help you write TypeScript code, as well as work with software architecture, best practices, and design aspects.
Table of Contents (15 chapters)
TypeScript Design Patterns
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface

Bridge Pattern


Bridge Pattern decouples the abstraction manipulated by clients from functional implementations and makes it possible to add or replace these abstractions and implementations easily.

Take a set of cross-API UI elements as an example:

We have the abstraction UIElement that can access different implementations of UIToolkit for creating different UI based on either SVG or canvas. In the preceding structure, the bridge is the connection between UIElement and UIToolkit.

Participants

The participants of Bridge Pattern include:

  • Abstraction:  UIElement

    Defines the interface of objects to be manipulated by the client and stores the reference to its implementer.

  • Refined abstraction: TextElement, ImageElement

    Extends abstraction with specialized behaviors.

  • Implementer: UIToolkit

    Defines the interface of a general implementer that will eventually carry out the operations defined in abstractions. The implementer usually cares only about basic operations while the abstraction will handle...