Object-Oriented Design Workshop

This interactive workshop teaches foundational object-oriented skills like polymorphism, encapsulation, and delegation. Along the way, you’ll explore what poor OO design looks, common traps to avoid and how to produce good OO designs.

Good software design makes code easier to understand, less expensive to maintain and simpler to extend. If you program in an Object-Oriented (OO) language and seek to produce good designs, this workshop is for you.

Through a mix of interactive dialogs, exercises, lectures, demos, and instructional simulation, you’ll learn and practice foundational OO skills, including polymorphism, encapsulation, and delegation. Along the way, you’ll learn what poor OO design looks like, you’ll study common traps to avoid and you’ll discover how to program safe, high-performance OO software.
This workshop is for programmers with up to 2 - 3 years experience who would like to build their object-oriented skill set.
Object-Oriented Design Workshop

Workshop Editions

Our completely online version of this workshop is chock full of interactive group exercises and online discussions. It takes place over 6, 3-hour gatherings online. We can customize the sessions and schedule them to best meet your needs.
  • Design and Craft: Being a Professional
  • Information Hiding and Encapsulation
  • Coupling and Cohesion
  • Polymorphism for Powerful Substitution
  • Delegation Vs Inheritance
  • SOLID Principles
  • Code Smells
  • DRY: Don't Repeat Yourself
  • Recursion or Iteration?
  • Apply OOD to Your Code
  • Apply OOD to Your Code
Here is a typical 3-day agenda. We can customize the duration and contents of this agenda to best meet your needs.
  • Design and Craft: Being a Professional
  • Information Hiding and Encapsulation
  • Coupling and Cohesion
  • Polymorphism for Powerful Substitution
  • Delegation Vs Inheritance
  • SOLID Principles
  • Code Smells
  • DRY: Don't Repeat Yourself
  • Recursion or Iteration?
  • We work with you in your code to apply these skills and techniques.

What Will You Learn?

outcome

Understand information hiding and why encapsulation matters

outcome

Understand the power and simplicity of polymorphism

outcome

Identify common object-oriented code smells

outcome

Learn to design objects following the SOLID principles

outcome

Learn why and how to keep code DRY

outcome

Apply your new OOD skills to your real code