Observer Pattern

The observer pattern is a software design pattern in which an object, called the subject, maintains a list of its dependents, called observers, and notifies them automatically of any state changes, usually by calling one of their methods.

interface IObserver<T> {
  update(...data: T[]): void;
}

interface ISubject<T> {
  observers: IObserver<T>[];
  addObserver(observer: IObserver<T>): void;
  removeObserver(observer: IObserver<T>): void;
}

The following components currently use the observer pattern:

  • BreakpointHandler
  • ThemeHandler
  • Accordion will trigger when a accordion item toggle
  • Tab will trigger when a tab changed
  • Tooltip will trigger when a tooltip opens
  • Carousel will trigger when a carousel moves
  • Rating will trigger when a rating was changed
  • Dropdown will trigger when a dropdown opens