
You're passionate about your creation, you're hungry to create an amazing program. Don't waste time reinventing the wheel. JavaScript design patterns are one of the most powerful ways you can supercharge your capabilities as a creative developer.
This comprehensive video course empowered hundreds of developers to create better applications. Knowing what design patterns are and how to work with them enables you to become part of a developer community. In this course you will learn the language, understand its meaning and know when to use 20 of the most commonly used design patterns in JavaScript.
Why will this course supercharge your capacities?
When you know how to work with design patterns you gain access to years of experience of other developers.
Why will you gain access to years of experience of other developers?
Design patterns are in many ways the language that summarizes the advancement in developer thoughts. In many ways design patterns are the science of evolution in programming. By understanding how they work you gain the experience of millions of developers into your own projects.
What makes design patterns the science of evolution in programming?
Design patterns is the theory behind problem solving in programming. By knowing the different challenges developers face and commonly accepted solutions you elevate your personal capabilities to solve more advanced problems.
Why does knowing how to work with Design Patterns elevate your personal capabilities in solving complex problems?
When you drive a car it does not mean you can't walk anymore but it means you can now drive a car(and go faster and longer distances). Knowing design patterns is moving into the drivers seat in programming enabling you to not solve every problem on your own but instead rely on existing theory that has been tested out 1000s, and sometimes millions, of times.
Why do design patterns put you in the driver seat?
Knowing how to drive does not involve you knowing how to build cars ( or how to fix them). By driving a car you rely on the wisdom of others to improve your capabilities. Same is true with the programming language that your working in (your not using 0101 to code - that's the language of computers). Instead, you rely on JavaScript a language designed to make interactive scripting easy. In the same way, getting to know the common problems developers face and the best solutions to them (according to millions of people) enables you to solve problems without needing to understand them, enabling you to build upon the solutions of others and solve more complex problems.
Why you shouldn't want to solve every single problem on your own?
Solving problems is probably the most fun things you can do in life - and in programming. Solving problems is my personal meditation. Yet, if I tried to solve every problem without relying on pre-existing solutions the time I would need to spend on every project would make it impossible for me to create advanced projects (as I would always need to solve problems that take a lot of time - that have been solved many times before by others).
Why saving your time is important?
Your time is one of most valuable resource(and among the most expensive ones for corporations). If you solve every single problem without relying on common knowledge your time will be more expensive making you less profitable for the companies you work for. Imagine my time is worth $20 an hour, and I choose to solve a problem that million have solved already before - let's say it takes me about 100 hours to solve the problem - in other words just spent $2,000.
By working with a design pattern and advancing my skills to cut down the time it takes me to develop applications I increase the value of my time. In other words my hour just got more valuable to the companies I work for. Advanced developers make up to $500 an hour because they solve problems fast. While $500 an hour might sound like a lot, but if you can solve the same problem in 1 hour that someone else needs 100 – that actually makes your $500 an hour a bargain. Gain the wisdom of others, become a faster developer and ask for a raise.
Mediocre is okay, but mastery is better. Become a JavaScript Design Patterns master developer who understands the wonderful world of design patterns. Join 10,000 other students that have gained skills that change lives.
...I am instantly writing code differently...
Benjamin Cortes
All the information is very useful and actionable.
Marlene Lawal
Topic
Design patterns are intelligent, reusable strategies for solving common development problems faced by developers. For Web developers working with JavaScript, design patterns provide a tested, methodical plan of attack for tackling challenges that arise in real-world application development.
JavaScript Design Patterns: 20 Design Patterns for Expert JavaScript Programming will immerse you in the world of intelligent JavaScript programming , demonstrating to Web developers how to mobilize design patterns and presenting key programming concepts and common solutions to frequently occurring programming problems.
Taking my Javascript to the next level!
Sean Esteva
...I'm glad I took the course.
Chuck King
Exploring 20 different design patterns, this video course demonstrates the internal logic of each, while providing examples and real-world scenarios that developers can adopt and implement when programming in JavaScript.
The course opens by introducing the conceptual logic behind design patterns: what they are; what they are not; what makes a pattern; major pattern types; and what role they play in the bigger picture of Web development. We then dive straight into a real-world case study, building a mock application with in-built issues that design patterns can solve.
Following on from this introduction, the course quickly expands into exploring the core design patterns underlying the major JavaScript design pattern types: Creational, Structural, and Behavioral patterns. With the knowledge delivered throughout this course, you will be armed with a powerful skills arsenal for solving a wide array of different JavaScript programming problems.
The course gives a strong explanation and practical application of the design patterns presented...
Bogdan Nenu
What you will learn from this video course
- Master the logic behind the major design patterns, and wield them confidently for JavaScript programming
- Understand how to modularize and condense code, optimize memory, and negotiate design problems
- Explore Creational design patterns including the Singleton, Factory, and Prototype
- Implement greater abstraction into application design, and control multiple objects sharing APIs with the help of Structural design patterns
- Chain objects together and manage events and states using Behavioral design patterns
- Ultimately deepen your understanding of JavaScript and understand how design patterns can make you a better, more effective programmer.
Is this course for you?
This course was designed for experienced JavaScript developers that want to upgrade their skills and become really amazing developers. As such, this course assumes you are comfortable with JavaScript and have familiarity with JavaScript OOP concepts.
If you want to become a better, smarter and better looking* developer this course is for you. Start learning now JavaScript Design Patterns.
*this Isn't legally binding. Yet, imagine how relaxed you would be if you could tap into the wisdom of millions of developers that have confronted the same problems you are confronting now days – that's got to be good for the skin.
Style and approach
This course adopts a problem-solution approach, demonstrating how to solve a wide array of real-world JavaScript programming problems using different design patterns. Replete with code examples and detailed explanations of the logic at play, the course helps viewers understand and practice the lessons taught.
Author biography
Ben Fhala discovered his passion for data visualization while he was working at Parsons in New York, in their data visualization department, PIIM. He is the owner of the online video training school, 02geek.com, and an Adobe ACP. He enjoys spending most of his time learning and teaching and has a love for visual programming and visualization in general. Ben has had the honor of developing applications for members of the US Congress, Prime Ministers, and Presidents around the world.
He has built many interactive experiences for companies such as Target, AT&T, Crayola, Marriott, Neutrogena, and Nokia. He has technically directed many award-winning projects and has been part of teams that have won three Agency of the Year awards. Among Ben's publications are Packt's HTML5 Graphing and Data Visualization Cookbook.
Your Instructor
Over the past ten years Packt Publishing has developed an extensive catalogue of over 3000 books, e-books and video courses aimed at keeping IT professionals ahead of the technology curve. From new takes on established technologies through to the latest guides on emerging platforms, topics and trends – Packt's focus has always been on giving our customers the working knowledge they need to get the job done. Our courses continue this tradition, bringing you comprehensive yet concise screencast tutorials straight from the experts.
Frequently Asked Questions
What are Design patterns?
The nature of progress is to try to find the easy way out of problems. Developers as problem solvers aim to create solutions that can be reusable. Some solutions are so specific that their code can be transported from one project to the next (and in many ways that's one of the major benefits behind Object Oriented Programming).
Yet not every problem can be solved into tangible code that can be reused many times; these solutions are concepts that have been scrutinized by the community of developers for a common problem facing their work. As such, design patterns are not a finished solution that is easily transferable but instead are a template to solve a problem that is common in development.
Some problems are so common that they relate to many languages while other patterns are more specifically related to the language and type of interface and situation.
A secondary advantage of knowing and working with design patterns is they create a common vocabulary enabling you to describe a very complex problem many times in one word.
Why is having a common language is important?
When developers speak in the same language it enables them to describe complex issues in one word. When you can describe a problem in a word or two you can more easily find solutions to problems. As such, building a common language among developers helps you develop better and gain the wisdom of the masses with little effort. In most scenarios, you will be able to find a solution to your problem with a quick search online (once you are armed with the name of the problem you are facing).
This common language enables more developers to scrutinize and test out the idea (find its problems and amend them) while documenting online possible solutions to these problems.
In this course you will learn what design patterns are and how to work with the 20 most common JavaScript design patterns.
JavaScript design pattern categories
There are hundreds of different design patterns. Yet in general we can categorize most design patterns into three separate groups. These groups are: creational, structural and behavioral.
Creational Design Patterns
Creational patterns are the focus of our first cluster of design patterns that we cover in the second chapter. Creational design patterns are design patterns that relate to the creation of objects. In this section, we will explore the core creational design patterns and among them the Singleton, Factory, Abstract Factory, Builder, and Prototype design patterns.
- The Singleton Design Pattern
- The Factory Design Pattern
- The Abstract Factory Design Pattern
- The Builder Design Pattern
- The Builder Design Pattern Continued
- The Prototype Design Pattern
Structural Design Patterns
While creational design patterns focus on one object at a time, strong world design patterns relate to the structure of your application holistically. Chapters 3 and 4 dive deep into the world of structural design patterns. The main objective of structural design patterns is to help communicate between different objects, by facilitating and enabling modular development. In other words, structural design patterns facilitate in connecting and replacing objects within an application.
- Abstracting Our Singleton
- The Adapter Design Pattern
- The Composite Design Pattern
- The Decorator Design Pattern
- The Fly Weight Design Pattern
- The Façade Design Pattern
- Getting Things Working Again
- The Bridge Design Pattern
- The Proxy Design Pattern
Behavioral Design Patterns
While the two previous categories related to objects and the way they are positioned structurally within an application, behavioral design patterns focus on how objects communicate with each other and with that interface. The last chapter of this course is dedicated for behavioral design patterns. Behavioral design patterns focus on interactions between classes. In this section, we will only cover a handful of these types of design patterns, but there are many more of them.
- The Chain of Responsibility – Part 1
- The Chain of Responsibility – Part 2
- The Observer Design Pattern – Adding and Dispatching Events
- The Observer Design Pattern – Removing Events
- The State Design Pattern
Course Key features
- A deep exploration of 20 JavaScript design patterns.
- Understand how to adopt and apply design patterns to a wide range of real world development scenarios.
- Definitive coverage of the Creational, Structural, and Behavioral pattern types.
- Take your JavaScript programming to an advanced level by understanding design patterns in depth.
- Join a learning developer community of over 10,000 students.