Design Patterns in JavaScript Training in Germany

  • 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 Germany facilities. Private class trainings will be organized at the location of your preference, according to your schedule.

09 Januar 2025 (3 Days)
Berlin, Hamburg, Münih
Classroom / Virtual Classroom
12 Januar 2025 (3 Days)
Berlin, Hamburg, Münih
Classroom / Virtual Classroom
09 Januar 2025 (3 Days)
Berlin, Hamburg, Münih
Classroom / Virtual Classroom
12 Januar 2025 (3 Days)
Berlin, Hamburg, Münih
Classroom / Virtual Classroom
09 Februar 2025 (3 Days)
Berlin, Hamburg, Münih
Classroom / Virtual Classroom
09 Februar 2025 (3 Days)
Berlin, Hamburg, Münih
Classroom / Virtual Classroom
22 März 2025 (3 Days)
Berlin, Hamburg, Münih
Classroom / Virtual Classroom
23 März 2025 (3 Days)
Berlin, Hamburg, Münih
Classroom / Virtual Classroom
Design Patterns in JavaScript Training Course in Germany

The Federal Republic of Germany is the second most populous country in Europe and is located in Central Europe. The official language of the country is German. Germany is one of the richest countries in the world. The main exports of the country include motor vehicles and iron and steel products.

Here are some fun facts about Germany:
The fairy tale writer, the Brothers Grimm, came from Germany and wrote many famous stories such as Cinderella, Snow White, and Sleeping Beauty.
Germany is home to the largest theme park in Europe, the Europa-Park.
The famous composer Ludwig van Beethoven was born in Germany.
The Autobahn, the German highway system, is known for having no general speed limit.


Berlin was divided by the Berlin Wall from 1961 to 1989. Known for its street art, Berlin has many colorful murals and graffiti throughout the city. Also, Berlin is home to many famous museums, such as the Pergamon Museum and the Museum Island. Many clubs and bars stay open until the early hours of the morning in this big city.

Another popular city is Munich, which is famous for its Oktoberfest beer festival that attracts millions of visitors every year. Munich is also home to many historic buildings, including Nymphenburg Palace and the Marienplatz town square.

The country's capital and largest city is Berlin, however Frankfurt is considered to be the business and financial center of Germany. It is home to the Frankfurt Stock Exchange, the European Central Bank, and many other financial institutions. Because of its central location within Europe and its status as a major financial hub, Frankfurt is often referred to as the "Mainhattan," a play on the city's name and its association with the Manhattan financial district in New York City.

Frankfurt is also a major transportation hub, with the largest airport in Germany and one of the largest in Europe, Frankfurt Airport. Additionally, it is a popular destination for tourists, with its historic city center, beautiful parks, and vibrant cultural scene.

Some of the top German technology companies like Siemens AG, Bosch, SAP SE, Deutsche Telekom, Daimler AG and Volkswagen has business centers in Frankfurt. The country has a strong tradition of engineering and innovation, and is home to many other world-class technology companies and research institutions.

Tailored to meet the specific needs of Germany, Bilginç IT Academy combines cutting-edge training methodologies with our comprehensive range of Certification Exam preparation courses and accredited corporate training programs. Experience a transformative approach to IT training that will redefine your expectations.
By using this website you agree to let us use cookies. For further information about our use of cookies, check out our Cookie Policy.