Home    |    Instructor-led Training    |    Self-Paced Learning    |    Online Training          Email Us   Phone :
Contact Us   -   About Us          
 
Courses
A+
ADA
Adobe
AJAX
Apache
AutoCAD
Business Analysis
Business Objects
Business Skills and Technology
C++ programming
Cisco
Citrix
Cognos
ColdFusion
COM/COM+
CORBA
Corel
Crystal Reports
Datawarehousing
DB2
Desktop Application Software
Enterprise Architecture
ITIL
Java
JBoss
Leadership Development
Legato
Lotus
Macintosh
Mainframe programming
Microsoft / MCT
MS Access
MultiMedia and design
.NET
Network+
New Manager Development
Object oriented analysis and design
OpenVMS
Oracle
Perl
PHP
PowerBuilder
Professional Development
Professional Soft Skills Workshops
Project Management
Rational
Sales Performance
SAS
Security
SharePoint
SOA
Software Engineering
Software quality and testing
SQL Server
Sybase
Telecommunications
Tivoli
Tomcat
Unix/Linux/Solaris/AIX/
HP-UX
Visual Basic
Visual Foxpro
VMware
Web 2.0
Web Development
WebLogic
WebSphere
Websphere MQ (MQSeries)
Windows programming
XML
XML Web Services
Design Patterns
Overview

This advanced Object-Oriented course provides software architects and designers with skills to create high quality object-oriented designs exhibiting improved flexibility, reduced maintenance costs, and with increased understanding of the resulting code. Participants learn more than 30 object-oriented patterns, including the 23 micro-architectures in "Design Patterns: Elements of Reusable Object-Oriented Software", by Gamma, Helm, Johnson, and Vlissides (the gang-of-four, or GoF book). Application examples and code snippets are provided to illustrate the patterns and the rationale for using that pattern in a given situation.

Audience

Software architects and designers requiring advanced design skills.

Prerequisites

Object-Oriented Analysis & Design-UML or equivalent experience. At least 6 months experience programming with an object-oriented programming language.

Course duration

4 Days

Course outline

  1. Course Introduction
    • Course Objectives
    • Course Overview
    • Suggested References

  2. Design Pattern Overview
    • Objectives in Software Design/Module Design
    • Overview of Patterns
    • Qualities of a Pattern
    • Pattern Systems
    • Heuristics vs. Patterns

  3. Principles of Object-Oriented Design
    • Overview of Principles
    • Single-Responsibility Principle (SRP)
    • Open-Closed Principle (OCP)
    • Tell vs. Ask
    • Command/Query Separation (CQS)
    • Composed Method
    • Combined Method
    • Liskov Substitution Principle (LSP)
    • Dependency Inversion Principle (DIP)
    • Interface Segregation Principle (ISP)
    • Law of Demeter
    • Review of Life Cycle Process

  4. Principles of Package Architecture
    • Package Cohesion Principles
    • Package Coupling Principles
    • Martin Package Metrics

  5. Basic Object-Oriented Design Patterns
    • Delegation vs. Inheritance
    • Interface
    • Immutable
    • Null Object
    • Marker Interface
    • General Responsibility Assignment Software Patterns

  6. Catalog of GoF Patterns
    • Overview of GoF Patterns
    • Factory Method
    • Abstract Factory
    • Builder
    • Prototype
    • Singleton
    • Adapter
    • Decorator
    • Proxy
    • Facade
    • Composite
    • Flyweight
    • Bridge
    • Chain of Responsibility
    • Strategy
    • Iterator
    • Template Method
    • Mediator
    • Observer
    • Memento
    • Snapshot
    • Command
    • State
    • Visitor
    • Interpreter

  7. Other Micro-Architecture and System Patterns
    • Object Pool
    • Worker Thread
    • Dynamic Linkage
    • Cache Management
    • Type Object
    • Extension Object
    • Smart Pointer (C++)
    • Session
    • Transaction

  8. Concurrency Patterns
    • Single Threaded Execution
    • Guarded Suspension
    • Balking
    • Scheduler
    • Read/Write Lock
    • Producer/Consumer
    • Two-Phase Termination
    • Double-Checked Locking

  9. Patterns-Oriented Software Architecture
    • Architectural Patterns
    • Layers Architecture
    • Pipes & Filters Architecture
    • Blackboard Architecture
    • Broker
    • Model-View-Controller
    • Presentation-Abstraction-Control
    • Reflection
    • Microkernel
    • How to Select an Architecture

  10. Catalog of J2EE Patterns
    • J2EE Pattern Relationships
    • Intercepting Filter
    • Front Controller
    • View Helper
    • Composite View
    • Service to Worker
    • Dispatcher View
    • Business Delegate
    • Value Object
    • Session Facade
    • Composite Entity
    • Value Object Assembler
    • Value List Handler
    • Service Locator
    • Data Access Object
    • Service Activator

  11. Selected Process Patterns (from PLoP)
    • The Selfish Class
    • Patterns for Evolving Frameworks
    • Patterns for Designing in Teams
    • Patterns for System Testing

  12. Selected Anti-Patterns
    • Stovepipe System
    • Stovepipe Enterprise
    • Reinvent the Wheel
    • Golden Hammer
    • Death by Planning
    • Death March Projects
    • Additional Management Anti-Patterns

  13. Patterns Summary
    • Appendix A: UML Review A-1
    • Appendix B: C# Code Examples for GoF B-1
    • Appendix C: Possible Solutions for Exercises C-1
    • Appendix D: Diagram Worksheets D-1

Contact Information
WINTRAC INC. - the one stop shopping center for IT training.
16523 S.W. McGwire Ct. Beaverton OR -97007
Phone: (503) 259-0312
Fax: 707-598-2268
Email: sales@wintrac.com

Send mail to webmaster@wintrac.com with questions or comments about this web site.
Copyright © 2008 Wintrac Inc.