San Francisco Bay Area Chapter of ACM

The First Society In Computing

presents

Design Patterns Explained:
A New Perspective on Object Oriented Design, Including Internet Specific Patterns

 A Professional Development Seminar

Saturday, Sept. 13, 2003



SANTA CLARA UNIVERSITY

El Camino Real, Santa Clara, CA

Daly Science Center 207

 Saturday, Sept. 13, 2003, 8:00 a.m. to 4:30 p.m.
SPEAKER

 

Alan Shalloway of Net Objectives

 Alan Shalloway is the CEO and senior consultant of Net Objectives. Since 1981, he has been both an OO consultant and developer of software in several industries. He is the primary author of Design Patterns Explained: A New Perspective on Object-Oriented Design and is currently co-authoring Emergent Design: Refactoring and Design Patterns for Agile Development with Scott Bain.

 


OVERVIEW

Design Patterns continue to be an enigma. While many developers understand their importance, they are little used compared to their potential. Furthermore, their most common use as canned solutions to given problems is not even their strongest point.

This seminar starts by describing the classic use of patterns in a clear, easy-to-understand manner. It shows how most design patterns illustrate particularly good coding practices that should be followed whether patterns are present or not. Thus, a new perspective on object-oriented design is presented. It concludes by presenting a different perspective on how application architectures should be built, designing from context instead of putting pieces together. Participants will leave the seminar with a solid understanding of what design patterns are, a better way to build models of their application domains and a better understanding of good coding practices.

Who Should Attend:
This seminar is intended for software developers who have at least a minimal understanding of object-oriented design. It is intended for software architects, team leads and programmers, although development and project managers with a strong technical background will also benefit. The seminar is not language specific, and examples are given in Java, C# and C++.


SEMINAR OUTLINE

(Seminar will include Internet Specific Patterns)

I. Introduction to Design Patterns

  • What are design patterns?
  • A simple pattern in the classic sense - Singleton Pattern
  • A simple pattern to illustrate good practices - the Strategy Pattern

II. Using Design Patterns to Contain Variation

  • Commonality/Variability Analysis
  • The Analysis Matrix
  • The Abstract Factory Pattern

III. The New Perspective on Object-Oriented Design

  • Going beyond nouns and verbs
  • Encapsulation and Inheritance Redefined
  • Techniques to improve designs
  • The Bridge Pattern

IV. Patterns Working Together

  • Designing From Context
  • The Decorator Pattern

V. Decomposition by Responsibility

  • Using Factories
  • Contextual Design Revisited

VI. Are Patterns Really Important?

  • The Essence of Patterns
  • Using Design Patterns in Analysis