Learning Patterns Your Source for Quality Technology Courseware

Exploring Design Patterns with Java

This course explores proven real-world techniques to meet the biggest challenge in the software development community - building quality systems which fulfill your requirements, and delivering them on time. The focus of the course is to give you the practical skills that are most critical in building well designed software systems. It is extremely hands-on and applied, as well as giving you the formal knowledge you need to be fully conversant in this important area.

This course explores the most common object-oriented design patterns (Gang of Four) and how to use these patterns to develop solid, robust and reusable software development applications.

The course covers the patterns in the three core areas: Creational, Structural, Behavioral.
It also briefly covers other types of patterns, such as Dependency Inversion (DI) and Enterprise Patterns.

This course is hands-on with design projects and programming labs. Code examples, when given in the course text,are geared towards Java, but there is no Java coding required in the labs. The labs are conceptual, and not coding-oriented. 

Course Information:

Course Code: DPATT

Price: $100

Duration: 3 days

Labs: many hands-on labs (minimum 50% of course)

Prerequisites: No programming experience necessary

Supported Software Environments:

Course Objectives:

Skills Gained:

  • Explore and understand basic Design Pattern concepts
  • Use Design Patterns effectively to build robust, well designed, reusable systems
  • Be familiar with the GOF Patterns
  • Creational: Abstract Factory - (full), Factory Method - (full), Singleton - (full), Builder - (brief), Prototype - (brief)
  • Structural: Composite - (full), Adapter - (full), Proxy - (full), Bridge - (brief), Facade - (brief), Decorator - (brief)
  • Behavioral: Observer - (full), Strategy - (full), Iterator - (full), Visitor - (short), Interpreter - (short), Chain of Command - (short), Command - (short), Mediator - (short), State - (short)
  • Be familiar with other kinds of patterns (e.g. Enterprise Patterns)

Course Outline:

  • Session 1: An Introduction to Design Patterns
    • Overview of OO concepts and Interfaces
    • The Iterator Pattern - Learning Patterns via an Example (with Lab)
    • Background/History of Patterns
  • Session 2: Design Patterns: A More Formal Approach
    • UML Overview
    • Gang of Four (GOF) Patterns Description
    • GOF Patterns Catalog
  • Session 3: Patterns for Object Creation
    • Factory Method Pattern (with Lab)
    • Abstract Factory Pattern
    • Singleton Pattern
    • Other Creational Patterns
  • Session 4: Patterns for Object Behavior
    • Strategy Pattern (with Lab)
    • Template Method Pattern
    • Command Pattern
    • Chain of Responsibility Pattern
    • Other Behavioral Patterns
  • Session 5: Patterns for Object Structure
    • Decorator Pattern
    • Composite Pattern
    • Proxy Pattern
    • Façade Pattern
    • Bridge Pattern
  • Session 6: Dependency Injection Containers
    • Overview
    • Dependency Inversion
    • Dependency Injection
  • Session 7: Patterns for Enterprise Systems
    • Overview
    • Business Delegate
    • Value Object
    • Data Access Object / Repository
    • Model-View-Controller (MVC)