Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Node.js Design Patterns
Rating: 4.2 out of 5(189 ratings)
1,159 students

Node.js Design Patterns

Write efficient and resilient Node.js applications using industry-standard software design patterns
Last updated 3/2022
English

What you'll learn

  • Understand the importance of learning and using industry-standard design patterns when writing Node .js apps
  • Learn more about core creational design patterns such as Singletons, Factory, and Builder patterns
  • Efficiently avoid callback hell and implement asynchronous behavior using Promises, Async/Await, and Generators
  • Develop a deeper understanding of the module system in Node .js and to implement patterns such as dependency injection
  • Get an insight into structural design patterns such as Proxy, Adapter, Decorator, and others that can help you create systematic, efficient relationships between objects and entities
  • Reuse well-known techniques to solve common design and coding issues
  • Understand the behavioral design patterns such as Strategy, Observers, Middleware, and even the Publisher-Subscriber pattern to craft efficient communication patterns between objects, processes, and even applications

Course content

6 sections22 lectures2h 35m total length
  • The Course Overview3:00

    This video will give you an overview about the course.

  • What Are Design Patterns?3:52

    Software development is about solving problems effectively and a major part of this process is employing efficient coding practices. That is where the concept of design patterns comes into play. We will thus explore the purpose of design patterns and how they can help us solve problems effectively.

       •  Examine the etymology of design patterns as a concept

       •  Understand the core benefits of following a design pattern

       •  A quick glance at the flavor of design patterns that we will learn in this course

  • Singletons6:47

    When creating objects, especially in modularized applications such as Node.js apps, we often need a singular instance of an object to be available across all modules/functions. A Singleton helps us achieve that.

       •  Define a singleton and its purpose

       •  Examine the role of Node’s module system

       •  Implement the Singleton pattern using functions and classes in Node.js

  • Factories – Generic Interface for Creating Objects7:27

    We should aim to define interfaces that allow the creation of pre-configured objects easily. The factory pattern helps us construct objects from a generic foundation by an interface that hides the implementation logic from the consumer.

       •  Define the factory pattern and its need through an example

       •  Implement the factory pattern in an example

       •  Examine and implement the abstract factory pattern

  • Building Object in Steps – Builder Design9:14

    When writing reusable packages/classes, an easy to use interface that simplifies the construction of a complicated object is essential. The builder pattern allows you to implement a step by step process when creating complicated objects.

       •  Understand what a builder does and define the pattern

       •  Implement the builder pattern in a simple to understand example

       •  Implement the builder pattern when authoring classes

Requirements

  • The intended audience is expected to have basic knowledge of Node .js and the ecosystem, good command over JavaScript, and intermediate working skills on Linux/MacOS.

Description

When writing Node.js applications, it’s absolutely imperative that we employ battle-tested guidelines that can help us write efficient and resilient code. These guidelines are known as design patterns. Design patterns are an important part of software development and are a proven way of solving a given problem.

In this course, you’ll take a comprehensive look at industry-standard design patterns, identify challenges that you would commonly encounter while designing and developing software, and implement solutions in Node.js applications. The efficacy of these patterns has been proven over time and a lot of these standard patterns can be implemented when writing JavaScript apps with Node.js.

By implementing design patterns, you can write code that is crafted for efficiency and reusability and is resilient against errors and typical pitfalls that result from poorly written code.

This course uses Node.js 10.8.0, and JavaScript ES8, while not the latest version available, it provides relevant and informative content for legacy users of Node.js, and JavaScript.

About the Author

Sachin Bhatnagar began dabbling with Computer Programming and graphics at the age of 14 on a Sinclair ZX Spectrum that ran the BASIC programming language.

During the early 2000s, Sachin forayed into Computer Graphics and Visual Effects training and production. From developing world-class curricula to imparting training to over five thousand students in the classroom and over twenty-five thousand online, Sachin has actively contributed to fueling innovation, creating brand identities, and crafting innovative software solutions for corporate companies and individuals alike.

He has also worked with one of India’s leading media and entertainment training companies as a vice president. Having said all this, Sachin's first love is coding and he strongly emphasizes its importance to one and all. His passion for education and love for coding has culminated in several courses on technology. His expertise lies in JavaScript, Node.js, Vue.js, Chatbots, and the list keeps growing all the time.

Who this course is for:

  • This course is for developers and software architects with a basic working knowledge of JavaScript who are interested in acquiring a deeper understanding of how to design and develop enterprise-level Node .js applications.