Consulting Training Blog Careers About Us Contact Us
All Classes Will Be Held Virtually – Live Online Intertech's Training Division has been successfully instructing professionals through virtual live online training since the advent of the smartboard. It is a proven form and offers the convenience of live questions, group interaction, and labs with an instructor looking over your shoulder. Because of this, we will continue all classes live but virtually, including Agile and Scrum instruction, so businesses and individual’s seeking professional development can keep moving forward during these unexpected times.

Design Patterns in Java Software Training

Course ID: CAP192
Duration: 3 Days

Upcoming Classes

Click the Get Notified button for priority notification when a class is next scheduled.

Get Notified

On Site/Private

Can't find a class that fits right for you? Contact us to inquire about scheduling your own private class

Contact Us


This course seeks to develop, for the experienced Java programmer, a strong, shared vocabulary of design patterns and best practices.  The course begins with a discussion of how to recognize and apply design patterns - that is, how to incorporate pattern awareness into one's own analysis, design, and implementation practices.  The main body of the course focuses on the Gang of Four design patterns, with a chapter each on creational, behavioral, and structural patterns.  Classroom time is about evenly split between discussion, group design exercies, and coding labs to reinforce finer points of important patterns.


Bring This Course To You

For groups of 5 or more, let Intertech bring this course to your location. Customized versions tailored towards your objectives are also available.

Learn More

Learning Objectives

  • Start to think in terms of design patterns
  • Recognize and apply patterns to specific software development problems
  • Use known patterns as a shared vocabulary in designing and discussing solutions
  • Use Factories and Singletons to control object creation, for a variety of reasons
  • Use Observers, Observables, and Model/View/Controller systems to decouple application behavior and preserve code scalability
  • Understand the full motivation for the Command pattern and take advantage of Command frameworks in JFC
  • Implement Adapters, rather than building redundant classes or creating intermediate data structures for consumption by existing code
  • Understand and apply a range of other J2SE and J2EE patterns to improve code quality and scalability, and to produce high-quality solutions right off the bat 


Solid Java programming experience is essential - especially object-oriented use of the language.  Language features and techniques that are integral to some lab exercises include interfaces and abstract classes, threading, generics and collections, and recursive methods.
Previous experience with UML (Unified Modeling Language) will be helpful, but is not critical.  The course uses UML class diagrams extensively but keeps notation fairly simple, and also includes a quick-reference appendix.


Course Outline

Recognizing and Applying Patterns

  • Design Patterns
  • Defining a Pattern
  • Unified Modeling Language
  • Seeing Patterns
  • Warning Signs and Pitfalls

Creational Patterns

  • Factory Patterns
  • The Singleton Pattern
  • APIs and Providers
  • Cascading Factories

Behavioral Patterns

  • The Strategy Pattern
  • The Template Method Pattern
  • The Observer Pattern
  • The Model/View/Controller Pattern
  • The Command Pattern
  • The Chain of Responsibility Pattern

Structural Patterns

  • The Composite Pattern
  • The Adapter Pattern
  • The Decorator Pattern
  • The Facade Pattern
  • The Flyweight Pattern

J2EE Patterns

  • Model/View/Controller, Redux
  • The Intercepting Filter Pattern
  • The Front and Application Controller Patterns
  • The Business Delegate Pattern
  • The Service Locator Pattern
  • The Transfer Object Pattern
  • The Composite Entity Pattern

Appendix A. Learning Resources


Appendix B. UML Quick Reference

Free Resources from Intertech

Complete Guide to Becoming a Full Stack Developer

2 Free Resources: Missed Issues in Software Estimation and Stakeholder Questionnaire

Free Whitepaper: Spring 4 – Conditional Bean Configuration