The JavaScript Design Patterns and Best Practices Collection

The JavaScript Design Patterns and Best Practices Collection

English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 5 Hours | 924 MB

Everything you need to know about advanced JavaScript in one curated course. Includes coverage on the ES6 specification!

Have you ever felt as if you rely too heavily on third party JS libraries and frameworks? Concerned about being able to write clean and maintainable code?

This uniquely structured course combines text, video and assessment content. It aims to get you up to speed on expert-level techniques that will help you grow as a software developer. Whilst we focus on JS, many of the patterns we use are also applicable to broader software development. These design patterns will act as solutions to your frequently occurring development problems.

This course will build your understanding of tried-and-true design patterns in JavaScript. You will learn how to build robust applications and libraries. Moreover, this course will make you capable enough to identify places where the right pattern could improve the readability and maintainability of your code.

Why should I choose this course?

We’ve spent the last decade working to help developers stay relevant. The structure of this course is a result of deep and intensive research into what real-world developers need to know in order to be job-ready. We don’t spend too long on theory, and focus on practical results so that you can see for yourself how things work in action.

What details do you cover?

We’ve all reached a stage where we struggle to write simple and expressive code. It’s in these cases where design patterns come to our rescue.

We start off this course with idiomatic JavaScript, helping you get to grips with modern JS. From stabilizing our foundation in OOP coding, we will move on to cover DOM manipulation in a simple and approachable manner.

We’ll then move onto one of the most common concerns presented to us by front-end web developers.- When creating a cross-browser application, how do you know if a feature is supported or not?As a bonus, we also dive into the latest JS refresh that is ES6. ES6 is an exciting collection of new language features and paradigms and we’ll get you started with using polyfills and transpilers right away.

Once you are well-acquainted with all the tips and tricks of JavaScript, we’ll move on to design pattern techniques. Starting with an introduction to design patterns, we look at creational, structural, and behavioral patterns. We include also include coverage of functional programming, model view patterns, patterns to build web applications, and messaging. A number of very interesting advanced JavaScript patterns such as dependency injection and live post processing are also detailed in a practical context.

On completion of this course you will have seen over 20 modern and classic design patterns in action, so that you can apply them to tackling the challenges that arise in real-world web application development.

What you’ll learn

  • A behind-the-scenes look at the common issues while targeting cross-browser compatibility
  • Create, integrate, and test event dispatchers in JavaScript
  • Master DOM manipulation, cross-browser strategies, and ES6
  • Understand how to modularize and condense code, optimize memory, and negotiate design problems
Table of Contents

Idiomatic JavaScript
1 Course Overview
2 Using white space for readability
3 Declaring variables
4 Declaring complex data types and functions
5 OOP naming conventions
6 Creating a global namespace
7 Constants (and pseudo constants)
8 Smart coercion of data fields

Functional Programming
9 Understanding functional programming

Reactive Programming
10 Reactive programming – what is it

Cross-browser Development
11 Targeting at JavaScript versions or features
12 Creating an onload method that always works
13 Using Modernizr to detect features

Cross-browser DOM Manipulation
14 Building a conditional logic flow
15 Selecting DOM elements natively in HTML5
16 Creating a cross-browser script loader
17 Using sizzle to select DOM element

Creating a JavaScript Library
18 Defining a namespace
19 Creating private variables in JavaScript
20 OnReady – our first cross-browser script
21 The JavaScript Module design pattern
22 Version controlling our library
23 Building out our library

Server-side JavaScript
24 Exploring server-side JavaScript

ECMAScript 6
25 Getting Started with ECMAScript 6

My First Design Patterns
26 The problem with the global scope
27 Moving to one object and namespace
28 The Module design pattern
29 The Module Reveal pattern
30 Controlling the global access completely

Creational Design Patterns
31 The Singleton design pattern
32 The Abstract Factory design pattern
33 The Factory design pattern
34 The Builder design pattern
35 The Builder design pattern continued
36 The Prototype design pattern

Structural Design Patterns – Part 1
37 Abstracting our Singleton
38 The Adapter design pattern
39 The Composite design pattern
40 The Decorator design pattern

Structural Design Patterns – Part 2
41 The Fly Weight design pattern
42 The Façade design pattern
43 Getting things working again
44 The Bridge design pattern
45 The Proxy design pattern

Behavioral Design Patterns
46 The chain of responsibility – Part I
47 The Chain of responsibility – continued
48 The Observer design pattern – adding and dispatching events
49 The Observer design pattern – removing events
50 The State design pattern

Application Patterns
51 Exploring application patterns

Web Patterns
52 Learning Web Patterns

Messaging Patterns
53 Learning messaging patterns

Patterns for Testing
54 Learning pattern testing

Advanced Patterns
55 Understanding the advanced patterns