Skip to content

Design Patterns in Java


StayAhead Training

Summary

Price
£1,795 inc VAT
Study method
Classroom
Duration
3 days · Full-time
Qualification
No formal qualification
Additional info
  • Tutor is available to students

Location & dates

Location
Address
6 Long Lane
Barbican
LONDON
Greater London
EC1A9HF
United Kingdom
Address
ComputerWorld, Apex House
Turner Drive
BRISTOL
Avon
BS375YX
United Kingdom
Address
16
St Marys Street
EDINBURGH
Midlothian
EH11SU
United Kingdom
Address
NOWGEN, 29
Grafton Street
MANCHESTER
Lancashire
M139WU
United Kingdom

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.

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

Description

Course Contents - DAY 1:

Session 1: INTRODUCTION

  • Thinking Like a Computer
    • 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

Course Contents - DAY 2:

Session 3: STRUCTURAL PATTERNS

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

Session 4: BEHAVIOURAL PATTERNS

  • Template Method
  • Strategy
  • Observer
  • Mediator

Course Contents - DAY 3:

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!

Who is this course for?

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.

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 or equivalent level course.

Questions and answers

Reviews

Currently there are no reviews for this course. Be the first to leave a review.

FAQs

Study method describes the format in which the course will be delivered. At Reed Courses, courses are delivered in a number of ways, including online courses, where the course content can be accessed online remotely, and classroom courses, where courses are delivered in person at a classroom venue.

CPD stands for Continuing Professional Development. If you work in certain professions or for certain companies, your employer may require you to complete a number of CPD hours or points, per year. You can find a range of CPD courses on Reed Courses, many of which can be completed online.

A regulated qualification is delivered by a learning institution which is regulated by a government body. In England, the government body which regulates courses is Ofqual. Ofqual regulated qualifications sit on the Regulated Qualifications Framework (RQF), which can help students understand how different qualifications in different fields compare to each other. The framework also helps students to understand what qualifications they need to progress towards a higher learning goal, such as a university degree or equivalent higher education award.

An endorsed course is a skills based course which has been checked over and approved by an independent awarding body. Endorsed courses are not regulated so do not result in a qualification - however, the student can usually purchase a certificate showing the awarding body's logo if they wish. Certain awarding bodies - such as Quality Licence Scheme and TQUK - have developed endorsement schemes as a way to help students select the best skills based courses for them.