Course Search:

Request more details:


Exploring Design Patterns

Description:
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 of Creational, Structural, and Behavioral and is hands-on with design projects and programming labs.
  • Cost: Price on application
  • Duration: 2 days
  • This course is not available as part of our public schedule but can be provided on a customised client specific basis.
Prerequisites:
Some experience in object-oriented thinking/programming, professional experience with object-oriented technologies and UML diagrams, and a basic knowledge of Java.
Introduction:
What’s our World?
OK – So Just What is a Design Pattern?
Design Patterns are not Esoteric
Why Use Patterns?
The Adapter Pattern
Reviewing Interfaces & Abstract Classes
Interface Types
Interface Definitions
Abstract Methods
Abstract Classes
Using Abstract Classes
Important Principal of OO Design
The Iterator Pattern:
Patterns: Traversing a Collection
A Simple ArrayList
Using Our ArrayList
Using Our Simple Collection
Another Design for Collection Traversal
Using Our New Collection
Differences in Traversing Our Collection
Why is This Important?
Why is This a Design Pattern?
We Will Expand on Our Design
Design Patterns – Background:
Design Patterns Arise From Architecture
Christopher Alexander
The TimelessWay
A Core Principle of His Books
Patterns in A Pattern Language
Sitting Circle (185)
Different Chairs (251)
Patterns Evolution in Software
OOPSLA 88
Patterns Evolution in Software
Patterns Today
UML Overview:
Unified Modeling Language (UML)
Using UML
UML Diagrams
Class Diagram
Class Diagram Notation
Association Relationships in Detail
Class Diagram Notation
Abstract Class Notation
Interface Notation
Another Class Diagram
Gang of Four Design Patterns Description:
What Do We Know Now About Patterns
GOF Pattern Description
Iterator: Overview
Iterator: Motivation
Iterator: Applicability
Iterator: Structure – Java
Iterator: Structure – General
Iterator: Participants
Iterator: Collaborations and Consequences
Iterator: Implementation
Implementation: Who Controls the Iteration
Implementation: Who Defines the Traversal
Implementation: Robustness
Iterator: Known Uses and Related Patterns
So – What is a Design Pattern?
The GOF Patterns Catalog:
Organizing the Catalog
Creational, Structural, and Behavioral Purpose
Class and Object Scope
Design Pattern Space
The GOF Catalog of Design Patterns
Factory Method Pattern:
Organizing the Catalog
Creational, Structural, and Behavioral Purpose
Class and Object Scope
Design Pattern Space
The GOF Catalog of Design Patterns
Strategy Pattern:
Motivation – Forces and Solution
Structure
Alternative to Strategy
How Do We Choose Among Alternative?
Participants
Collaborations and Applicability
Consequences
Implementation
Known Uses and Related Patterns
Difference From Factory Method
Decorator Pattern:
Motivation – Forces and Solution
Structure
Participants and Collaborations
Structure
Writer and FilterWriter Classes
UpperCaseFilterWriter Class
Consequences
Implementation
Known Uses and Related Patterns
Composite Pattern:
Motivation – Forces
Motivation – Solution
Structure
Participants
Collaborations
Consequences
Implementation
Known Uses and Related Patterns
Template Method Pattern:
Motivation – Forces and Solution
Structure
Participants and Collaborations
Consequences
Implementation
Known Uses and Related Patterns
Command Pattern:
Motivation – Forces and Solution
Structure
Participants and Collaborations
Consequences
Implementation
Undo and Redo
Known Uses
Chain of Responsibility Pattern:
Motivation – Forces
Motivation – Solution
Structure
Participants and Collaborations
Consequences/Applicability
Implementation
Known Uses and Related Patterns
Façade Pattern:
Motivation – Forces and Solution
Structure
Participants and Collaborations
Consequences/Applicability
Implementation
Known Uses
Patterns for Enterprise Systems:
Meeting the Challenge – Technologies
Meeting the Challenge – Best Practices
Some Patterns for Enterprise Systems
Business Delegate
Business Delegate: Solution
Business Delegate: Structure
Business Delegate: Consequences
Value Object
Value Object: Solution
Value Object: Structure
Value Object: Consequences
Data Access Object (DAO)
DAO: Solution
DAO: Structure
DAO: Consequences
Lazy Load
Lazy Load: Solution
Lazy Load: Consequences
Wrap-Up:
What Have We Done?
So – What Do You Think About Patterns?
Where Do We Go From Here?
Do We Fit Into Alexander’s Vision?
Design Patterns Isn’t All You Need
Have Fun


Dublin: 01 6627700 - Cork: 021 4319010 - Limerick: 061 311982

© Professional Training Solutions Limited 1996-2012
CRO No. 252390 - Unit 22, Westland Square, Pearse Street, Dublin 2, Ireland.