Design Patterns in Java Software

Print

Request an offer for classroom delivery of this course

Register for a Live Web Conference Course

Course duration

Course Outline

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 exercises, and coding labs to reinforce finer points of important patterns.

This is not a patterns catalog: it is as much a study of how to "think in patterns" as it is an introduction to several of the most important patterns. Students will be challenged to bring their own previous development experience to the discussion, to see the patterns in everyday design and coding solutions. The course puts more emphasis on some patterns than others. We believe that students will be better served by going into a few patterns in depth, with lively discussions of several others, than by following a regular routine of discussion and examples over every GoF pattern.

  1. Recognizing and Applying Patterns
    1. Design Patterns
    2. Defining a Pattern
    3. Unified Modeling Language
    4. Seeing Patterns
    5. Warning Signs and Pitfalls
  2. Creational Patterns
    1. Factory Patterns
    2. The Singleton Pattern
    3. APIs and Providers
    4. Cascading Factories
  3. Behavioral Patterns
    1. The Strategy Pattern
    2. The Template Method Pattern
    3. The Observer Pattern
    4. The Model/View/Controller Pattern
    5. The Command Pattern
    6. The Chain of Responsibility Pattern
  4. Structural Patterns
    1. The Composite Pattern
    2. The Adapter Pattern
    3. The Decorator Pattern
    4. The Façade Pattern
    5. The Flyweight Pattern
  5. J2EE Patterns
    1. Model/View/Controller, Redux
    2. The Intercepting Filter Pattern
    3. The Front and Application Controller Patterns
    4. The Business Delegate Pattern
    5. The Service Locator Pattern
    6. The Transfer Object Pattern
    7. The Composite Entity Pattern
    8. The Data Access Object Pattern

InterSource Geneva, a premier Information Technology training firm, offers over 400 different courses on server, database and programming technologies, as well as end-user classes for the most popular office, graphics and design applications. We serve clients in Switzerland (Geneva, Lausanne, Bern, Basel, Zurich) and throughout Europe (France, Germany, Austria, Finland, Sweden, England, Netherlands, Spain, etc.).


InterSource offers custom, private courses at client sites, standard public courses in our Geneva classroom, and online training via live Web conference. Training is offered in English and many other languages (Francais, Deutsch, Espanol, Italiano.)


For an overall view of our offerings, please visit us at www.intersource.ch.