Design Patterns in Java

Course Code: DESPAT

Duration: 3 days

 
 
 
 

Design Patterns in Java Course Overview

This course aims to teach what design patterns are and how they can help to design well-structured, reusable object-oriented software.

It is acknowledged that designing reusable object-oriented software is hard. It involves finding pertinent objects, factoring them into classes at the right granularity, and then defining class interfaces and inheritance hierarchies and establishing appropriate relationships among them. This seems almost impossible and yet experienced object-oriented developers somehow manage to produce good designs. New developers, however, are often overwhelmed by the options available and may be tempted to fall back on non-object-oriented techniques.

This course is about transferring knowledge of design patterns which are the result of years of experience. This experience is captured in solutions consisting of recurring patterns of classes and communicating objects that solve specific problems in a way that is flexible, elegant and ultimately reusable. By learning these design patterns, developers will be able to apply them immediately without having to rediscover or reinvent them.

This course focuses on the design patterns listed in the original 'Gang of Four' book and delegates will learn to use them in real-life scenarios with hands-on practical exercises.

Note that we do not cover every pattern listed in detail, rather we select a subset in each category for detailed examination and have the delegates implement said patterns in Java code.

Exercises and examples are used throughout the course to give practical hands-on experience with the techniques covered.

Course Objectives

This course aims to provide the delegate with an understanding of what a design pattern is, how they're classified, and why they're important. It also seeks to provide the delegate with the skills necessary to apply commonly used patterns as and when it is appropriate to do so.

Who will the Course Benefit?

This Design Patterns in Java course is aimed at developers, designers, architects, and anyone else involved in the design and production of well-structured, reusable software written in Java or any other object-oriented language.

Skills Gained

The delegate will learn and acquire skills as follows:

  • Describing and selecting design patterns
  • Matching design patterns to scenarios
  • Implementing creational patterns
  • Implementing structural patterns
  • Implementing behavioural patterns
  • Identifying anti-patterns

Design Patterns in Java Training Course

Course Introduction

  • Administration and Course Materials
  • Course Structure and Agenda
  • Delegate and Trainer Introductions

Session 1: INTRODUCTION

  • What is a Design Pattern?
  • Why use Design Patterns?
  • Categories of Design Pattern
  • The Gang of Four Design Pattern Catalogue

Session 2: CREATIONAL PATTERNS

  • Singleton
  • Factory Method
  • Abstract Factory
  • Builder
  • Prototype
  • Object Pool

Design Patterns in Java Training Course

Session 3: STRUCTURAL PATTERNS

  • Adapter
  • Composite
  • Proxy
  • Flyweight
  • Facade
  • Bridge
  • Decorator

Session 4: BEHAVIOURAL PATTERNS

  • Template Method
  • Strategy
  • Observer
  • Mediator

Design Patterns in Java Training Course

Session 4: BEHAVIOURAL PATTERNS (CONT.)

  • State
  • Command
  • Chain of Responsibility
  • Iterator
  • Interpreter
  • Memento
  • Visitor
  • Null Object

Session 5: ANTI-PATTERNS

  • God Class
  • Dead Code
  • Functional Decomposition
  • Poltergeists
  • Boat Anchor
  • Old Yeller
  • Dead End
  • Spaghetti Code
  • Clipboard Coding
  • And more!
Notes:
  • Course technical content is subject to change without notice.
  • Course content is structured as sessions, this does not strictly map to course timings. Concepts, content and practicals often span sessions.

Requirements

Delegates attending this course should be familiar with object-oriented principles and will be able to write simple applications in Java or an equivalent object-oriented language. This knowledge can be obtained by attendance on the pre-requisite Java Programming 1 / Java Developer or equivalent level course.

Pre-Requisite Courses

Course Reviews

Fantastic range of content, brilliant instructor. Highly recommended.

Adam - Junior Developer - Government

Public Scheduled Events

Classroom & Live Virtual Instructor-Led Training

Duration: 3 days

Price: £1,650.00 exc. VAT 


Start Date Options Spaces  
12 Feb 2025
StayAhead Virtual Courses available 
Spaces Book Now 
23 Apr 2025
StayAhead Virtual Courses available 
Spaces Book Now 
09 Jul 2025
StayAhead Virtual Courses available 
Spaces Book Now 
22 Sep 2025
StayAhead Virtual Courses available 
Spaces Book Now 
01 Dec 2025
StayAhead Virtual Courses available 
Spaces Book Now 
 

Live Virtual Classroom

 
Join live instructor-led classroom training from the comfort of your home or office.
All the convenience and benefits of the classroom experience without the hassle and costs of travel and accommodation.
 
 



Our Customers Include

 
EDF
Amazon
American Express
Aviva
QA
BAE
University of Cambridge
Barnardo's
Scottish Government
Bauer
Bloomberg
BP
HSBC
DVLA
GlaxoSmithKline
Government Campus
Capita
Tui
NHS
Ordnance Survey
Ministry of Defence
Zurich Insurance Group
trainline
Vodafone
 
 



Our Course Curriculum

 
 
 
+44 (0)20 7600 6116
Enquiries@StayAhead.com
Copyright © 2024 StayAhead Training Ltd
Cookies   /   Privacy Policy