Design Patterns (GoF) for Java

Design Patterns represent a collection of certain experiences suitable for reuse. Patterns can be applied in all areas, because they allow for the use of solutions that proved effective in the past. If you understand design patterns you will be able to not only implement your solutions and obtain quality source code faster, but also build effective communication with those of your peers who have already mastered this technology.
  • duration 24 hours
  • Language English
  • format Online
duration
24 hours
location
Online
Language
English
Code
DEV-001_JVA
price
€ 600 *

Available sessions

To be determined



Training for 7-8 or more people?
Customize trainings for your specific needs

Description

Introduction

Mastering Design Patterns in Java is essential for any developer looking to enhance their programming skills. Design Patterns represent a collection of proven solutions to recurring problems in software design. By understanding these patterns, developers can create robust, maintainable, and efficient code that facilitates effective communication and collaboration within development teams. This comprehensive course delves into the 23 fundamental patterns outlined in the seminal book "Design Patterns: Elements of Reusable Object-Oriented Software" by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, collectively known as the Gang of Four (GoF).

 

Short Content Overview

Throughout this course, participants will explore a diverse range of design patterns, each addressing specific challenges encountered during software development. From creational patterns like Singleton and Factory Method to structural patterns such as Adapter and Decorator, as well as behavioral patterns including Observer and Strategy, learners will gain a deep understanding of when and how to apply each pattern effectively. The course emphasizes practical implementation, providing hands-on experience through coding exercises and real-world examples. Each pattern is examined conceptually and analyzed at the design level using Java code examples on a bank.

 

Learning Outcomes

By the end of this course, participants will:

1. Gain a comprehensive understanding of the 23 fundamental design patterns in Java.

2. Learn how to identify and address common software design challenges using appropriate design patterns.

3. Acquire practical skills to implement design patterns in their projects, enhancing code quality, maintainability, and scalability.

4. Develop effective communication and collaboration skills by discussing and applying design patterns within development teams.

5. Cultivate a deeper appreciation for object-oriented design principles and their practical application in real-world scenarios.

  

Join us on this journey to unlock the power of design patterns and elevate your Java programming expertise to new heights. Whether you're a seasoned developer or just starting your programming journey, this course offers invaluable insights and practical skills that will empower you to write cleaner, more efficient code and become a more proficient Java developer.

After completing the course, a certificate is issued on the Luxoft Training form

Objectives

After the completion of the course, students will be able to:

  1. Describe patterns and principles of their use;
  2. Define problems and benefits of design based on code reuse;
  3. Use patterns-related terminology in discussions, design, and development;
  4. Develop applications using patterns;
  5. Understand and use application-level patterns.

Target Audience

  • Developers;
  • Technical Leads.

Prerequisites

    • Understand principles of object-oriented programming
    • At least one year of experience working with object-oriented languages
    • At least basic knowledge of Java & UML

Roadmap

  1. Module 1: [Theory – 1.5h; Practice – 1h]
    • Introduction
    • Authors, Recommended reading
    • OOP, UML
    • Principles of object-oriented design
    • SOLID
    • GoF Patterns Catalogue
  2. Module 2: [Theory – 1.5h; Practice – 1.5h]
  3. Singleton, Prototype, Factory Method, Abstract Factory, Builder
  4. Module 3: [Theory – 3h; Practice – 3h]
  5. Adapter, Bridge, Composite, Decorator, Façade, Flyweight, Proxy
  6. Module 4: [Theory – 5h; Practice – 7.5h]
    • Interpreter, Iterator, Visitor, Observer, Mediator, Memento, Command, Chain of Responsibility, Template method, Strategy, State

Total: theory 12,5h (45%); practice 11,5h (55%)



Related courses

Discover more about professional growth and skills development

contact us