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
About the Author
About the Reviewer

Proxy Pattern

Proxy Pattern applies when the program needs to know about or to intervene the behavior of accessing objects. There are several detailed scenarios in Proxy Pattern, and we can distinguish those scenarios by their different purposes:

  • Remote proxy: A proxy with interface to manipulate remote objects, such as data items on a remote server

  • Virtual proxy: A proxy that manages expensive objects which need to be loaded on demand

  • Protection proxy: A proxy that controls access to target objects, typically it verifies permissions and validates values

  • Smart proxy: A proxy that does additional operations when accessing target objects

In the section of Adapter Pattern, we used factory method open that creates an object asynchronously. As a trade-off, we had to let the client wait before the object gets created.

With Proxy Pattern, we could now open database on demand and create storage instances synchronously.


A proxy is usually dedicated to object or objects with known methods and properties...