Training Categories
Click on a link to see more about each course.
Course Outline
Dates Offered (click on the desired date to register):
This course is currently not scheduled for the near future.
Advanced Object Design with UML and Patterns
Course Number: AODUP
Course Description: During both initial software development and subsequent modification, a major cost -- not often appreciated as such -- is the quality of the design: its ease of comprehension, scalability, flexibility, and robustness in the face of change. To save money, it is imperative to take a long-term view of product development and invest in skillful designs. Advanced Object Design with Patterns provides designers with the skills to create quality object-oriented designs that support reduced modification costs and increased comprehensibility. Patterns are best-practice formulas from experienced object-oriented developers. There is an established set of popular and useful patterns, such as the "Gang-of-Four" (GoF) patterns described in the influential and popular book Design Patterns, and the annual PLOP workshop patterns. In addition, there is a well-defined body of core, object-oriented design principles, such as Meyers open-closed principle. In this course, the primary objective is that students learn to apply all 23 of the GoF patterns, such as State, Strategy, and Abstract Factory. Case studies and exercises are used throughout to illustrate and apply the patterns. In addition, participants learn many other high-value,object-design, and architectural-level patterns and principles, such as Open-Closed, Law of Demeter, MVC, and Layers.
Objectives: Describe, relate, and apply all 23 gang-of-four design patterns such as State, Strategy, Abstract Factory, Singleton, Bridge, and Visitor. Apply widely applicable PLOP patterns including Type Object, Null Object, and Extension Object. Apply the "Siemens" patterns including Command Processor, Publisher-Subscriber, MVC (Model View Controller), and Layers. Apply classic and fundamental object-oriented design patterns and principles such as the GRASP patterns, Law of Demeter, Open-Closed Principle, and Liskov Substitution Principle.
Benefits:
Target Audience:
Prerequisites: At least six months full-time experience programming with an object-oriented language,. Object-Oriented Analysis and Design with UML or equivalent experience.
Course Length: 4 days
CourseTopics:
Introduction to Patterns
Motivation
Pattern Families
Categorization
Resources
Design-Creation Patterns
Abstract Factory
Factory Method
Singleton
Prototype
Builder and Creator
Product Trader
Instance Manager
Architectural Patterns
Streams/Pipes and Filters
MVC
Broker
Layers
Reflection/Metadata
Work Flow
Shared Repository
Master-Slave
Programming Patterns and Idioms
Double-Checked Locking
Composed Method
Constant Method
Smart Pointer (if C++)
Basic Guiding and Evaluative Principles
GRASP patterns
Do It Myself
Open-Closed Principle
Law of Demeter
Dependency Inversion
Liskov Substitution
"Martin" Package Metrics
Object Design Patterns
Adapter
Decorator
Faηade
Bridge
Proxy
Template Method
Command
State
Strategy
Visitor
Composite
Chain of Responsibility
Mediator
Iterator
Observer
Memento
Interpreter
Flyweight
Whole Value
Null Object
Quantity
Immutable Object
Type Object
Extension object
Maturing Framework Patterns
White Box
Black Box
Hot Spots
Pluggable Objects