This course is provided by Wintrac.
Wintrac provides one stop shopping for all your IT
training needs. Wintrac’s course catalog of over two thousand courses includes courses on
Object oriented analysis and design training
Overview
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.
Audience
Application developers, programmers, system designers, and project manager developers
who need to improve the systems development through the use of design patterns.
Prerequisites
Some experience in object-oriented thinking/programming, professional experience with
object-oriented technologies and UML diagrams, and a basic knowledge of Java.
Course duration
2 Days
Course outline
1. 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
2. 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
3. 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
4. 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
5. 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?
6. 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
7. 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
8. 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
9. Decorator Pattern
- Motivation – Forces and Solution
- Structure
- Participants and Collaborations
- Structure
- Writer and FilterWriter Classes
- UpperCaseFilterWriter Class
- Consequences
- Implementation
- Known Uses and Related Patterns
10. Composite Pattern
- Motivation – Forces
- Motivation – Solution
- Structure
- Participants
- Collaborations
- Consequences
- Implementation
- Known Uses and Related Patterns
11. Template Method Pattern
- Motivation – Forces and Solution
- Structure
- Participants and Collaborations
- Consequences
- Implementation
- Known Uses and Related Patterns
12. Command Pattern
- Motivation – Forces and Solution
- Structure
- Participants and Collaborations
- Consequences
- Implementation
- Undo and Redo
- Known Uses
13. Chain of Responsibility Pattern
- Motivation – Forces
- Motivation – Solution
- Structure
- Participants and Collaborations
- Consequences/Applicability
- Implementation
- Known Uses and Related Patterns
14. Façade Pattern
- Motivation – Forces and Solution
- Structure
- Participants and Collaborations
- Consequences/Applicability
- Implementation
- Known Uses
15. 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
16. 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