Design Patterns

The Design Patterns Workshop offers a comprehensive introduction to design patterns, with a focus on patterns that have proven over the last decade to be most effective at addressing real-world software design problems.

The workshop helps people understand good object-oriented design through the medium of highly useful design patterns. Students are introduced to essential patterns via an amalgam of interactive discussions and hands-on exercises and quizzes.

The patterns taught in this course are drawn primarily, but not exclusively, from the classic catalog by Gamma, et al.: Design Patterns: The Elements of Reusable Object-Oriented Software Design. Students will gain a solid understanding of essential patterns as well as how to incorporate them into new or legacy code using modern refactoring and testing tools.

Agenda

  • Day 1: Common Patterns
  • Methods and Inheritance
  • Assembling the Pieces
  • Day Two Trailer
  • Day 2: Patterns and Collaboration
  • Making Objects Work Together
  • Delegating and Wrapping Patterns
  • Day Three Trailer
  • Day 3: Advanced Patterns
  • Complex Interaction Patterns
  • Operations and Traversals
  • Day Four Trailer
  • Day 1: Code Smells and Refactoring
  • Code Smells
  • Refactoring
  • Day 2: Common Patterns
  • Methods and Inheritance
  • Assembling the Pieces
  • Day Two Trailer
  • Day 3: Patterns and Collaboration
  • Making Objects Work Together
  • Delegating and Wrapping Patterns
  • Day Three Trailer
  • Day 4: Advanced Patterns
  • Complex Interaction Patterns
  • Operations and Traversals
  • Day Four Trailer

Course Details

Transfer
Knowledge: 60%, Skill-Building: 40%
Learning outcomes
  • Understand essential design patterns, and how to use them
  • Gain a working vocabulary of design patterns
  • Learn refactoring and testing tools to incorporate patterns into production code
  • Understand how to evolve patterns into a design, rather than designing with them up-front
Method of Instruction
Interactive Dialogues, Programming Exercises, Online eLearning, and Instructional Games
Target Audience
Primary: Object-oriented programmers, architects, and designers
Secondary: Technical managers, testers, technical writers
Course Level
Introductory
Course Prerequisites
Required: some understanding of OO concepts and an OO language; Licenses for these Industrial Logic's eLearning albums: Code Smells, Refactoring, and Design Patterns 1-3.
Highly Recommended: Basic understanding of the lifecycle of software projects

Requirements

General Requirements

To ensure a successful class, we require the following:

  • VGA projector (1024x768 minimum)
  • Projector screen
  • Speakers (to connect instructor's machines. Sound should be audible to the whole class)
  • White board
  • Dry erase markers
  • Flip chart and stand
  • Ample room for students in terms of room size and set up (prefer U-Shape seating)
  • At least one powerful workstation per two programmers (at least Dual Core Processor with 2 GB RAM)
  • High-speed Internet Access (at least 2 Mbps Line) to http://elearning.industriallogic.com

Development Tools

Students need to have their development environment set up before class begins.

Supported Browsers

  • Latest Firefox
  • Internet Explorer 8+
  • Latest Chrome
  • Latest Safari

Operating Systems

  • Windows
  • Linux
  • Mac OS X

Flash 9 (or higher) is required to watch our videos — download for free.

Each student will need a pair of headphones to watch our videos.

Once an agreement for the workshop is confirmed, we will work with your designated contact to ensure a successful workshop setup.

Request a Quote