Course Search:

Request more details:


Design Patterns

Description:
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.
  • Cost: Price on application
  • Duration: 4 Days
  • This course is not available as part of our public schedule but can be provided on a customised client specific basis.
Prerequisites:
Object-Oriented Analysis & Design-UML or equivalent experience. At least 6 months experience programming with an object-oriented programming language.
Design Pattern Overview:
Objectives in Software Design/Module Design
Overview of Patterns
Qualities of a Pattern
Pattern Systems
Heuristics vs. Patterns
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
Principles of Package Architecture:
Package Cohesion Principles
Package Coupling Principles
Martin Package Metrics
Basic Object-Oriented Design Patterns:
Package Cohesion Principles
Package Coupling Principles
Martin Package Metrics
Marker Interface 1
General Responsibility Assignment Software Patterns
Catalog of GoF Patterns:
Overview of GoF Patterns
Introduction to Creation Patterns
Factory Method
Abstract Factory
Builder
Prototype
Singleton
Introduction to Structural Patterns
Adapter
Decorator
Proxy
Facade
Composite
Flyweight
Bridge
Introduction to Behavioral Patterns
Chain of Responsibility
Iterator
Strategy
Template Method
Mediator
Observer
Memento
Command
State
Visitor
Interpreter
Other Micro-Architecture and System Patterns:
Object Pool
Worker Thread
Dynamic Linkage
Cache Management
Type Object
Extension Object
Smart Pointer (C++)
Session
Transaction
Concurrency Patterns:
Single Threaded Execution
Guarded Suspension
Balking
Scheduler
Read/Write Lock
Producer/Consumer
Two-Phase Termination
Double-Checked Locking
Patterns-Oriented Software Architecture:
Systems of Patterns
Architectural Patterns
Layers Architecture
Pipes & Filters Architecture
Blackboard Architecture
Broker
Model-View-Controller
Presentation-Abstraction-Control
Reflection
Microkernel
Catalog of J2EE Patterns
J2EE Pattern Relationships
Selected Process Patterns (from PLoP):
The Selfish Class
Patterns for Evolving Frameworks
Patterns for Designing in Teams
Patterns for System Testing
Selected Anti-Patterns:
The Selfish Class
Patterns for Evolving Frameworks
Patterns for Designing in Teams
Patterns for System Testing
Death by Planning
Death March Projects
Additional Management Anti-Patterns


Dublin: 01 6627700 - Cork: 021 4319010 - Limerick: 061 311982

© Professional Training Solutions Limited 1996-2012
CRO No. 252390 - Unit 22, Westland Square, Pearse Street, Dublin 2, Ireland.