Design Patterns for Java (GoF)

Design Patterns for Java (GoF)
Our course covers 23 basic patterns that are generally considered to be the foundation for all other patterns. During the course participants will have the opportunity to practice these patterns with the help of case studies and exercises.
24 hours
Online
English
DEV-001_JVA
Design Patterns for Java (GoF)
Sign Up
Duration
24 hours
Location
Online
Language
English
Code
DEV-001_JVA
Schedule and prices
€ 600 *
Training for 7-8 or more people? Customize trainings for your specific needs
Design Patterns for Java (GoF)
Sign Up
Duration
24 hours
Location
Online
Language
English
Code
DEV-001_JVA
Schedule and prices
€ 600 *
Training for 7-8 or more people? Customize trainings for your specific needs

Description

Design patterns are solutions to software design challenges that can be commonly found in real-world application development. Patterns are about reusable designs and interactions of objects. Understanding design patterns allows you to implement proven solutions that ensure a higher degree of quality in your source code in a shorter amount of time.

Our course covers 23 basic patterns that are generally considered to be the foundation for all other patterns. Some of the most best known and important are Factory Method, Adapter, Composite, Decorator, Observer, Strategy or Template Method. During the course participants will have the opportunity to practice these patterns with the help of case studies and exercises.

Understanding and applying design patterns will allow developers to use quality solutions that have already been standardized, will shorten the development time and will increase the understandability and maintainability of the code.
After completing the course, a certificate
is issued on the Luxoft Training form

Objectives

After completing the course participants will be able to:
  • describe the patterns and principles of their use;
  • understand the challenges and benefits of a design based on code reuse;
  • use pattern-related terminology in discussions, design and development;
  • develop applications based on patterns;
  • understand and use application-level patterns.

Target Audience

  • Developers;
  • Technical Leads.

Prerequisites

  • A clear understanding of the principles of object-oriented programming.
  • At least one year of experience in working with object-oriented languages.
  • Knowledge of Java and UML is also recommended.

Roadmap

1. Module 1:
  • Introduction
  • Authors, Recommended reading
  • OOP, UML
  • Principles of object-oriented design
  • SOLID
  • GoF Patterns Catalogue

2. Module 2:
  • • Singleton, Prototype, Factory Method, Abstract Factory, Builder

3. Module 3:
  • Adapter, Bridge, Composite, Decorator, Façade, Flyweight , Proxy

4. Module 4:
  • Interpreter, Iterator, Visitor, Observer, Mediator, Memento, Command, Chain of Responsibility, Template method, Strategy, State
Schedule and prices
View:
Register for the next course
Registering in advance ensures you have priority. We will notify you when we schedule the next course on this topic
+
Courses you may be interested in
Development with Java® SE. Beginner
The training covers all the specific topics related to Java development, from UML basics to OOP implementation in Java. A special emphasis is made on syntax basics and key practices of object-oriented programming.
Project Estimation: Size, Efforts and Duration
During the training we will discuss the process of estimating software development projects and all related activities - problems and errors. Based on Luxoft's experience in various projects we will discuss techniques for estimating project size, efforts and duration, the main challenges of estimation and the role of metrics in estimation.
Object-oriented Programming in Python
We cover the application of object-oriented approach in Python. From encapsulation to polymorphism, from the simplest custom type of data to complex classes deeply integrated in Python.
View Catalog
Your benefits
Expertise
Our trainers are industry experts, involved in software development project
Live training
Facilitated online so that you can interact with the trainer and other participants
Practice
A focus on helping you practice your new skills
Still have questions?
Connect with us
Thank you!
The form has been submitted successfully.