Design Patterns in JavaScript Training in Finland

  • Learn via: Classroom / Virtual Classroom / Online
  • Duration: 3 Days
  • Price: Please contact for booking options
We can host this training at your preferred location. Contact us!

This course is designed for developers who want to extend their architectural skills using design patterns and related techniques. It is heavily interactive, with delegates spending a lot of their time implementing patterns.

Each pattern is introduced in terms of its structure (via UML diagrams), its benefits and drawbacks, sample implementations and practical examples of how it can be used to simplify software development.

The course is tailored to modern JavaScript (ES2015 and beyond) and demonstrates how idioms of the language as well as functional programming can provide interesting variants (or replacements) to classic OO patterns. This course can start with an optional primer on ES2015 features to bring delegates up to speed in modern best practices.


Delegates should be experienced JavaScript developers.

Introduction to Patterns

  • Why code quality matters in JavaScript
  • What is a design pattern?
  • The evolution of design patterns
  • Misconceptions about design patterns
  • The dangers of becoming ‘pattern happy’
  • Distinguishing between patterns, idioms and refactoring
  • Using refactoring to introduce patterns incrementally
  • Using patterns to create an object oriented architecture
  • General software development principles
  • Avoiding duplication and writing simple code
  • The SOLID Principles
  • Law of Demeter
  • Composition over Inheritance

ECMAScript 2015 Refresher (Optional)

  • Writing modern JavaScript and retaining compatibility
  • How ECMAScript 2015 was a huge step forward
  • Modules and the import / export syntax
  • String interpolation / template literals
  • Block scope via ‘let’
  • Iterators, generators and the ‘for…of’ statement
  • New class syntax
  • Using the spread operator with functions and structures
  • New data structures - Maps and typed arrays
  • Intercepting object interaction with the Proxy type
  • Simplified anonymous functions with arrow functions
  • Writing asynchronous code with Promises
  • The TC39 process and using non-standard features

Creational Patterns

  • Advantages of separating clients from object creation
  • Decoupling and Dependency Injection
  • Factories - Simple and Abstract Factory, Factory Method
  • The Builder pattern and creating fluent DSLs
  • The Singleton pattern and why you won’t need it
  • The Prototype pattern vs JavaScript Prototypes

Structural Patterns

  • The Adapter and Bridge patterns
  • Layering functionality with the Decorator pattern
  • The Decorator pattern vs JavaScript Decorators
  • Distinguishing the Proxy and Decorator patterns
  • The Proxy pattern vs JavaScript Proxy objects
  • The Composite pattern for whole-part relationships
  • The Flyweight pattern to save resources
  • Using JavaScript prototypes to save resources
  • Simplifying subsystems with the Facade pattern

Structural Patterns

  • The Adapter and Bridge patterns
  • Layering functionality with the Decorator pattern
  • The Decorator pattern vs JavaScript Decorators
  • Distinguishing the Proxy and Decorator patterns
  • The Proxy pattern vs JavaScript Proxy objects
  • The Composite pattern for whole-part relationships
  • The Flyweight pattern to save resources
  • Using JavaScript prototypes to save resources
  • Simplifying subsystems with the Facade pattern

Behavioural Patterns

  • The Iterator pattern and JavaScript iterators
  • Writing JavaScript generator functions
  • Chain of Responsibility and Command patterns
  • Retain and restore state with the Memento pattern
  • Understanding event systems and the Observer pattern
  • Decoupling algorithms with the Strategy pattern
  • Decoupling steps with the Template Method pattern
  • The State, Visitor and Interpreter patterns

Functional Programming in JavaScript

  • Using generated functions as closures
  • Why closures store references to outer variables
  • Subtle bugs caused by incorrect use of closures
  • Using nested functions as an encapsulation technique
  • Immediately Invoked Function Expression (aka IIFE)
  • How IIFE’s are used in the JavaScript Module Pattern
  • Using functions as the unit of composition
  • Replacing external iteration with forEach, filter and map
  • Producing a single value from a list via folds and reduction
  • Applying currying and partial application in JavaScript


Contact us for more detail about our trainings and for all other enquiries!

Upcoming Trainings

Join our public courses in our Finland facilities. Private class trainings will be organized at the location of your preference, according to your schedule.

Classroom / Virtual Classroom
19 heinäkuuta 2024
Helsinki, Espoo
3 Days
Classroom / Virtual Classroom
18 heinäkuuta 2024
Helsinki, Espoo
3 Days
Classroom / Virtual Classroom
21 heinäkuuta 2024
Helsinki, Espoo
3 Days
Classroom / Virtual Classroom
08 elokuuta 2024
Helsinki, Espoo
3 Days
Classroom / Virtual Classroom
12 elokuuta 2024
Helsinki, Espoo
3 Days
Classroom / Virtual Classroom
25 elokuuta 2024
Helsinki, Espoo
3 Days
Classroom / Virtual Classroom
26 elokuuta 2024
Helsinki, Espoo
3 Days
Classroom / Virtual Classroom
02 syyskuuta 2024
Helsinki, Espoo
3 Days
Design Patterns in JavaScript Training Course in Finland

Finland is a country located in northern Europe. Helsinki is the capital and largest city of the country. The majority of the people are Finns but there is also a small Lapp population in Lapland, where the country is famous for the Northern Lights. Finland's national languages are Finnish and Swedish.

Known for its vast forests, lakes, and natural beauty, Finland is one of the world's largest producers of forest products, such as paper, pulp, and lumber. One of the world's largest sea fortresses Suomenlinna, Rovaniemi with the "White Nights", dogsled safaris and of course the Northern Lights are what makes Finland so popular for tourists. Finland is one of the best places in the world to see the Northern Lights and attracts millions of tourists during its seasons.

Finland is home to a thriving technology industry and is widely recognized as one of the world's leading technology hubs. Companies such as Nokia and Rovio (creator of the popular game Angry Birds) are based in Finland. Some of the key factors that have contributed to Finland's success in technology include; strong investment in research and development, a highly educated workforce and fundings.

Finland has a strong educational system, and is widely regarded as one of the world's most literate countries. In fact, Finland's literacy rate is one of the highest in the world, and its students consistently perform well in international tests of math and reading ability.

Also, as a pioneer in environmental sustainability, Finland is known for its efforts to reduce its carbon footprint and promote clean energy. This Nordic country is also famous for its unique and distinctive cultural heritage, including its traditional folk music and its elaborate traditional costumes.

Helsinki, Finland's capital city, is the country's business center. Helsinki is Finland's largest city, and it is home to many of the country's major corporations and organizations, including many of the country's leading technology firms. The city is also a commercial, trade, and financial center, as well as one of the busiest ports in the Nordic region.

Take advantage of our diverse IT course offerings, spanning programming, software development, business skills, data science, cybersecurity, cloud computing and virtualization. Our knowledgeable instructors will provide you with practical training and industry insights, delivered directly to your chosen venue in Finland.
By using this website you agree to let us use cookies. For further information about our use of cookies, check out our Cookie Policy.