Object Oriented Design Patterns

Design Patterns Training

The Object Oriented Design Patterns training course examines the catalog of design patterns outlined in the Design Patterns: Elements of Reusable Software book. The Object Oriented Design Patterns training goes through all three categories of patterns: structural, creational, and behavioral. In addition to examining the patterns, our Object Oriented Design Patterns training looks at the history of design patterns, the appropriateness of the adoption, and sample implementations in Java, PHP, or C#.

Object Oriented Design Patterns can also be delivered as a 5-day workshop. It can also be combined with the J2EE Design Patterns course for a Java EE specific course.

Course Summary

Purpose: 
Learn how to create reusable OO solutions using design patterns via our Software Architecture Training.
Audience: 
Experienced OO programmers wanting to learn advanced concepts.
Skill Level: 
Learning Style: 

Hands-on training is customized, instructor-led training with an in-depth presentation of a technology and its concepts, featuring such topics as Java, OOAD, and Open Source.

Hands On help
Duration: 
3 Days
Productivity Objectives: 
  • Describe the history, motivations, and principles of design pattern
  • Understand how and where design patterns fit into software architecture
  • Identify the three general areas of design patterns
  • Properly choose a design pattern based on a use case
  • Refactor existing code into a design pattern

What You'll Learn

In the Object Oriented Design Patterns training course you’ll learn:

  • Introduction to Design Patterns
    • What is a pattern
    • What are DPs
    • History of Design Patterns
    • What is their purpose
    • How are they structured
    • Types of Design Patterns
    • Technology / Language Agnostic
    • Technology / Language Specific
    • Anti-patterns

  • DP and OO Design
    • Review of Object Oriented Concepts
    • DPs role in OO design
    • Adopting Design Patterns
    • Where do they fit in
    • Validity of their adoption
    • Pros and Cons us using them
    • Applying Design Patterns
    • Common issues with design patterns

  • Refactoring
    • What is refactoring
    • What is the refactoring procedure
    • How do you ensure the refactoring effort worked
    • Refactoring to design patterns
    • Refactoring implementations of design patterns

  • General OO Design Patterns
    • Gang of Four Book
    • Structured around three main categories
    • Creational, Behavioral, Structural
    • Working with the GoF Book as a catalogue

  • Creational Patterns
    • What are creational patterns
    • When would you detect / apply a creational pattern
    • Pattern description
    • Pattern UML
    • Implementation-level example
    • Real-world example
    • Lab

  • Structural Patterns
    • What are structural patterns
    • When would you detect / apply a creational pattern
    • Pattern description
    • Pattern UML
    • Implementation-level example
    • Real-world example
    • Lab

  • Behavioral Patterns
    • What are structural patterns
    • When would you detect / apply a creational pattern
    • Pattern description
    • Pattern UML
    • Implementation-level example
    • Real-world example
    • Lab

Meet Your Instructor

picture of Kelby Z
Kelby Zorgdrager

Kelby Zorgdrager’s expertise in Java, Open Source, and software development have allowed him to be a guest speaker at JavaOne, Java University, Comdex, IEEE Software Conference, and the Colorado Software Summit.

Kelby has also served as a guest author for both IBM and Sun/Oracle’s developer sites. Furthering his passion to help people learn, Kelby served as a technical editor for the bestselling book, Advanced Java: How to Program,...

Meet Kelby Zorgdrager »
Simon

Simon has over 15 years of experience defining, developing, and delivering software development training programs.

As a senior instructor and courseware developer for Sun Microsystems, Simon developed and delivered Java training courses for Sun Educational Services’ internal and external customers. While at Sun, he was a guest presenter at JavaOne, Java University, and other software trade shows. Simon’s most significant accolade was his work as the development lead in the design, development,...

Meet Simon »
Jeremy Photo
Jeremy

Jeremy is a technology enthusiast who loves exploring, learning, and creating new technologies. One of his earliest programming feats – at eight years old – was modifying the game “Nibbles,” written in Basic, to be multiplayer so he and his neighbor could play together. Since then, he has continually experimented with any interesting new technology, never backing down from a challenge.

He played an instrumental role in building CARad, a software listing tool that was...

Meet Jeremy »
Jean Photo
Jean

Jean brings years of development experience into her teaching, making the learning experience practical for her students. Originally a Smalltalk developer, Jean has an expansive knowledge of object-oriented (OO) development, analysis, and design. Jean has worked in every stage of the software development process for a variety of businesses – from small non-profits, to government agencies, to global enterprises.

Jean was also one of the top instructors at Sun Microsystems in North America and Europe....

Meet Jean »
Michael Photo
Michael

Michael owns and operates Inkling Research, a consulting group of technical specialists. His work experience includes systems administration, application and operating system development, and the design and deployment of several network and storage-based systems. Michael is a seasoned instructor with 18 years experience in training, course development, mentoring, and practice management. His educational credentials include a B.A. from UC Davis, an M.A from Kent State University, and doctoral coursework at Claremont...

Meet Michael »
Joshua photo
Joshua

Joshua has been in the Internet industry almost since its inception, working as an enterprise systems administrator for 5 years, as a systems/network architect for two years, and as a developer for 15 years. His programming experience is generally centered on Internet applications; nowadays mostly focused on JavaScript, both server-side and front-end. Joshua is a believer in disruptive technologies and methodologies, and has practiced Agile/TDD methods for the past several years. Outside of work, he develops games,...

Meet Joshua »
Michael headshot
Michael

Michael is a practicing software developer, course developer, and trainer with DevelopIntelligence. For the majority of his career, Michael has designed and implemented large-scale, enterprise-grade, Java-based applications at major telecommunications and Internet companies, such as Level3 Communications, US West/Qwest/Century Link, Orbitz, and others.

Michael has a passion for learning new technologies, patterns, and paradigms (or, he has a tendency to get bored or disappointed with current ones)....

Meet Michael »

Contact us to learn more

Not all training courses are created equal. Let the customization process begin! We'll work with you to design a custom Object Oriented Design Patterns training course that meets your specific needs.

DevelopIntelligence has been in the technical/software development learning and training industry for nearly 20 years. We’ve provided learning solutions to more than 48,000 engineers, across 220 organizations worldwide.

About Develop Intelligence
Di Clients

surveyask

Need help finding the right learning solution?   Call us: 877-629-5631