Home    |    Instructor-led Training    |    Online Training     
         
 
Courses
ADA
Adobe
Agile
AJAX
Android
Apache
AutoCAD
Big Data
BlockChain
Business Analysis
Business Intelligence
Business Objects
Business Skills
C/C++/Go programming
Cisco
Citrix
Cloud Computing
COBOL
Cognos
ColdFusion
COM/COM+
CompTIA
CORBA
CRM
Crystal Reports
Data Science
Datawarehousing
DB2
Desktop Application Software
DevOps
DNS
Embedded Systems
Google Web Toolkit (GWT)
IPhone
ITIL
Java
JBoss
LDAP
Leadership Development
Lotus
Machine learning/AI
Macintosh
Mainframe programming
Mobile
MultiMedia and design
.NET
NetApp
Networking
New Manager Development
Object oriented analysis and design
OpenVMS
Oracle
Oracle VM
Perl
PHP
PostgreSQL
PowerBuilder
Professional Soft Skills Workshops
Project Management
Rational
Ruby
Sales Performance
SAP
SAS
Security
SharePoint
SOA
Software quality and tools
SQL Server
Sybase
Symantec
Telecommunications
Teradata
Tivoli
Tomcat
Unix/Linux/Solaris/AIX/
HP-UX
Unisys Mainframe
Visual Basic
Visual Foxpro
VMware
Web Development
WebLogic
WebSphere
Websphere MQ (MQSeries)
Windows programming
XML
XML Web Services
Other
Exploring Design Patterns
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

Please contact your training representative for more details on having this course delivered onsite or online

Training Outlines - the one stop shopping center for IT training.
© Training Outlines All rights reserved