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 facilities:

  • 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 that the environment is configured properly prior to the workshop.

Request a Quote