Class Details

Price: $1,800

2-Day Course Includes:

  • Class exercises in addition to training instruction
  • Courseware books, notepads, pens, highlighters and other materials
  • Full breakfast with variety of bagels, fruits, yogurt, doughnuts and juice
  • Course retake option
  • Tea, coffee, and soda available throughout the day
  • Freshly baked cookies every afternoon - *only at participating locations

For group training options, call us at (240) 667-7757 or email promo@phoenixts.com. 

Course Outline

Lesson 1: Diving into Objects and OOP Principles

 

  • Creating and Managing Object Literals .
  • Defining Object Constructors
  • Using Object Prototypes
  • Using Classes
  • Beginning with Object-Oriented JavaScript
  • Checking Abstraction and Modeling Support
  • Analyzing OOP Principles Support in JavaScript 

 

Lesson 2: Working with Encapsulation and Information Hiding

  • Setting up Strategies for Encapsulation and Information Hiding
  • Using the Meta-Closure Approach
  • Using Property Descriptors
  • Implementing Information Hiding in ES6 Classes 

 

Lesson 3: Inheriting and Creating Mixins

  • Implementing Objects, Inheritance, and Prototypes
  • Using Class Inheritance
  • Controlling Inheritance
  • Implementing Multiple Inheritance
  • Creating and Using Mixins 

 

Lesson 4: Defining Contracts with Duck Typing

  • Managing Dynamic Typing
  • Defining Contracts and Interfaces
  • Implementing Duck Typing
  • Comparing Duck Typing and Polymorphism 

 

Lesson 5: Advanced Object Creation

  • Mastering Design Patterns, Object Creation, and Singletons
  • Implementing an Object Factory
  • Exploiting the Builder Pattern

Lesson 6: Working with Data

  • Managing User Interfaces
  • Implementing Presentation Patterns
  • What is Data Binding?
  • Implementing Data Binding
  • Applying the Publish/Subscribe Pattern

 

 

 

 

 Lesson 7: Asynchronous Programming and Promises

 

  • Is JavaScript Asynchronous?
  • Writing Asynchronous Code
  • Introducing Promises 

 

Lesson 8: Organizing Code

  • Taking Control of the Global Scope
  • Creating Namespaces
  • Organizing Code with the Module Pattern
  • Loading the Module
  • Using the ECMAScript 2015 Modules

 

 

 

 

Objectives

At the conclusion of this course, students will be able to do the following:

  • Define objects
  • Understand essential OOP principles
  • Work with inheritance
  • Understand advanced patterns for object creation
  • Manage dynamic typing 
  • Understand duck typing and polymorphism