How To Take This Class

Course Overview

Geared for experienced Java developers, Core Object-Oriented Design Patterns for Java Programmers is a lab-intensive hands-on design patterns training course that 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.

Course Prerequisites

Attendees should be familiar with UML and have basic programming experience in Java. This course is not recommended for developers new to Java programming.

Course Audience

This an introductory-level OO programming course, designed for developers who need to identify, design, and lead the implementation of OO projects. We will explore and apply the terminology, the specification, the processes and technologies specific to OO. Examples are written in Java.

What You'll Learn

Upon successful completion of this course, students will be able to:
  • Explore the patterns, varying the levels of coverage to drill down on the most commonly used Patterns
  • Compare and contrast the patterns
  • Explore the advantages and disadvantages of using certain patterns for explicit development functions in Java environments

Course Duration

3 Days

Course Outline

  1. Introduction to Design Patterns
    • Overview of Patterns
    • What is a Pattern?
    • Why Patterns?
    • Crucial Qualities of Good Patterns
    • What are NOT Patterns?
    • Classifying and Describing Patterns
    • Overview of Patterns by Category
  2. Creational Patterns
    • Class Creation vs. Object Creation
    • Abstract Factory Pattern
    • Singleton Design Factory Pattern
    • Builder Design Pattern
    • Factory Method Design Pattern
    • Applying the Different Factory Patterns
    • Prototype Design Pattern
    • Survey of Creational Patterns
  3. Structural Patterns
    • Overview of Structural Patterns
    • Composite Pattern
    • Adapter Pattern
    • Proxy Pattern
    • Bridge Pattern
    • Façade Pattern
    • Decorator
    • Survey of Structural Patterns
  4. Behavioral Patterns
    • Observer Pattern
    • Strategy Pattern
    • Iterator Pattern
    • Visitor Pattern
    • Interpreter Pattern
    • Chain of Responsibility Pattern
    • Command Pattern
    • Mediator Pattern
    • State Pattern
    • Comparison and Summary
  5. Applying Patterns
    • Selecting the Right Pattern
    • Adapting an Existing Pattern
    • Creating a New Pattern
    • Implementation Considerations
    • Challenges in Working With Patterns
    • Anti-Patterns