JavaScript Design Patterns (ok)

https://www.dofactory.com/javascript/design-patterns

JavaScript Design Patterns

Introduction

Design patterns are advanced object-oriented solutions to commonly occurring software problems. Patterns are about reusable designs and interactions of objects. Each pattern has a name and becomes part of a vocabulary when discussing complex design solutions.

The 23 Gang of Four (GoF) patterns are generally considered the foundation for all other patterns. They are categorized in three groups: Creational, Structural, and Behavioral (see below for a complete list).

In this tutorial we provide JavaScript examples for each of the GoF patterns. Mostly, they follow the structure and intent of the original pattern designs. These examples demonstrate the principles behind each pattern, but are not optimized for JavaScript.

JavaScript-optimized patterns are available in our Dofactory JS, a unique guide for web app developers and architects developering with JavaScript and jQuery. Not only does it include optimized GoF patterns (using namespacing, closures, modules, immediate functions, prototypes, etc), but also Modern Patterns, Model View Patterns, Architecture Patterns, jQuery Patterns, and more. To learn more click here.

Creational Patterns

Creates an instance of several families of classes

Separates object construction from its representation

Creates an instance of several derived classes

A fully initialized instance to be copied or cloned

A class of which only a single instance can exist

Structural Patterns

Match interfaces of different classes

Separates an object’s interface from its implementation

A tree structure of simple and composite objects

Add responsibilities to objects dynamically

A single class that represents an entire subsystem

A fine-grained instance used for efficient sharing

An object representing another object

Behavioral Patterns

A way of passing a request between a chain of objects

Encapsulate a command request as an object

A way to include language elements in a program

Sequentially access the elements of a collection

Defines simplified communication between classes

Capture and restore an object's internal state

A way of notifying change to a number of classes

Alter an object's behavior when its state changes

Encapsulates an algorithm inside a class

Defer the exact steps of an algorithm to a subclass

Defines a new operation to a class without change

Last updated

Navigation

Lionel

@Copyright 2023