Home   |   Instructor-led Training   |   Self-Paced Learning                Email Us   Phone :
Contact Us   -   About Us          
 
Courses
A+
ADA
Adobe
AJAX
AutoCAD
Business Skills and Technology
C++ programming
Cisco
Citrix
Cognos
ColdFusion
COM/COM+
CORBA
Corel
Crystal Reports
Data Mining
DB2
Desktop Application Software
Enterprise Architecture
ITIL
Java
JBoss
Legato
Lotus
Macintosh
Mainframe programming
Microsoft / MCT
MS Access
MultiMedia and design
.NET
Network+
Object oriented analysis and design
OpenVMS
Oracle
Perl
PHP
PowerBuilder
Professional Development
Professional Soft Skills Workshops
Project Management
Rational
SAS
Security
SharePoint
SOA
SQL Server
Telecommunications
Tivoli
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.