Book Image

Angular Design Patterns

By : Mathieu Nayrolles
Book Image

Angular Design Patterns

By: Mathieu Nayrolles

Overview of this book

This book is an insightful journey through the most valuable design patterns, and it will provide clear guidance on how to use them effectively in Angular. You will explore some of the best ways to work with Angular and how to use it to meet the stability and performance required in today's web development world. You’ll get to know some Angular best practices to improve your productivity and the code base of your application. We will take you on a journey through Angular designs for the real world, using a combination of case studies, design patterns to follow, and anti-patterns to avoid. By the end of the book, you will understand the various features of Angular, and will be able to apply well-known, industry-proven design patterns in your work.
Table of Contents (9 chapters)

Observer

The observable pattern that allows an object, called the subject, to keep track of other objects, called observers, is interested in the subject state. When the subject state changes, it notifies its observers. The mechanism behind this is really simple.

Let's take a look at the following observer/subject implementation in pure TypeScript (no Angular 2 or framework of any kind, just Typescript). First, I defined an Observer interface that any concrete implementation will have to implement:

export interface Observer{ 
    notify(); 
}

This interface only defines the notify() method. This method will be called by the subject (the object being observed by the observer) when its state changes. Then, I have an implementation of this interface, named HumanObserver:

export class HumanObserver implements Observer{ 
    constructor(private name:string){}

notify(){

...