nTier’s Patterns in Frameworks course is a three-day intensive workshop focused on the design patterns found in many common frameworks such as Spring, Struts and Java Server Faces (JSF). Common usage in JEE/J2EE is also included such as the servlet framework and EJB (2 and 3). The course is delivered in a 70 percent hands-on coding with minimal lecture.

Lessons are delivered in a “Socratic” fashion whereby:

  • Students are given a problem and asked to solve it
  • A short lecture / demo is given in order to show our solution
  • Students are given time to refactor their solution as needed

Our goal is to provide a “real life” experience in which the participants code a single problem domain throughout the class and use the patterns in context to solve common recurring problems.

This course can be customized to focus on a particular framework of your choosing.

Course Duration: 3 days
Course Objectives:
  • Enable students to learn the frameworks more quickly
  • Equip students to leverage common frameworks and the JEE environment to their fullest extent
  • Understand and practice refactoring
  • Ground students in key patterns that they can reuse
Course Outline:
  • Encapsulation Of Construction
    • The Importance of Hiding Creation
    • The Intent of Factories
    • Factories and Pseudo-Factories
    • Hiding What Changes
    • Factories in the Frameworks
  • Encapsulation of Variation
    • Finding What Varies
    • Understanding the Context
    • The Intent of Strategies
    • Using the Strategy Pattern to Encapsulate Business Rules
    • Strategies in the Frameworks
  • Abstracting Common Flow
    • Same Steps Different Procedures
    • Skeletons and Internal Access
    • The Intent of the Template Method
    • Strategy vs. Template Method
    • The Template Method
  • Model View Controller
    • Understanding Application Flow
    • The Intent of MVC
    • MVC in the Frameworks
  • Encapsulating Request
    • Parameterize clients
    • The Intent of the Command Pattern
    • Understanding the Command Pattern
    • Command Pattern Usage in the Frameworks
  • Controlling Access
    • Access for Business Objects
    • Delegation Before and After Execution
    • The Intent of the Proxy Pattern
    • Variation of Proxies
    • Proxy Usage in Frameworks
  • Aspect Oriented Programming
    • Object Replacement
    • The Intent of the Dynamic Proxy
    • Before and After Advice
    • Dynamic Proxy Usage in Frameworks