  
                    
|
| |
 |
EXPLORING DESIGN PATTERNS
| Course Description |
|
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.
Course Length: 2 Days
Course Tuition: $690 (US)
|
| 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
Motivation – Forces and Solution
Motivation
Factor Method: Iterator Usage
Factory Method: General Structure
Participants
Collaborations and Applicability
Applicability
Consequences
Implementation
Known Uses and Related 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 an 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
Contact us for course schedules or more
information.
|
|
 |
|
|
|
|