Return to Home Page
      Blog     Consulting     Seminars     Calendar     Books     CD-ROMS     Newsletter     About     FAQ      Search
 

Thinking in Patterns

A Hands-on Intensive Workshop
Taught by Bruce Eckel

  • Available as an in-house seminar
  • Note: This seminar has changed quite significantly from the previous "Objects and Patterns" seminar from which it was spawned. If you are a prior attendee of "Objects and Patterns," you may take this seminar at 1/2 of the current registration price.

    This exercise-based workshop gives you a solid grounding in the principles of Design Patterns, as introduced in the so called "Gang of Four" (GoF) book, and expressed in Java in Bruce Eckel's book Thinking in Patterns, a preliminary version of which you can find here. The seminar structure and exercises are based on the Thinking in Patterns book.

    Prior to the seminar, I will be updating Thinking in Patterns to conform to the features available in J2SE5. Necessary J2SE5 features will be introduced during the seminar.

    The workshop combines lectures and guided exercises to demonstrate how object-oriented design with patterns can work in a production environment.


    Read comments from students


    Design Patterns

    Probably the most important step forward in object-oriented design is the "design patterns" movement, chronicled in Design Patterns, by Gamma, Helm, Johnson & Vlissides (Addison-Wesley 1995). That book shows 23 different solutions to particular classes of problems. In this seminar, the basic concepts of design patterns will be introduced along with examples in Java, looking at Patterns with a Java perspective. This should whet your appetite to read Design Patterns (a source of what has now become an essential, almost mandatory, vocabulary for OOP programmers).

    The material in this seminar shows design patterns that have been used in the Java Standard Libraries, and also follows the Design Patterns material in Thinking in Patterns, a preliminary version of which you can find at this link. The best way to find out the contents of the seminar is to download the book.

    Each lecture presents one or more patterns from a Java-centric viewpoint:

    • The motivation behind the pattern (Why do you want to use it? What problem does it solve?)
    • The structure of the pattern
    • One or more examples that use the pattern.

    Each lecture is followed by a one or more patterns exercises for you to solve, where you are guided to write code to apply particular patterns to the solution of programming problems.

    The final presentation is an example of the design evolution process, starting with an initial solution and moving through the logic and process of evolving the solution to more appropriate designs. The last project shown (a trash recycling simulation) has evolved over time, and you can look at that evolution as a prototype for the way your own design can start as an adequate solution to a particular problem and evolve into a flexible approach to a class of problems.

    • Dramatically increase the flexibility of your designs
    • Build in extensibility and reusability
    • Create denser communications about designs using the language of patterns

    Prerequisites:

    A high degree of comfort with object-oriented terminology. Implementation experience with Java.

    Thinking in Java, 3nd Edition, by Bruce Eckel
    or
    Bruce Eckel's Hands-On Java CD


    Recommended Reading (before the seminar):

    Chapter 1 of Design Patterns: Elements of Reusable Object-Oriented Software, by Gamma et al.

    Thinking in Patterns, a preliminary version of which you can find here. (This material will be evolving over time).


    What you should bring:

    Your notebook computer with the latest Java JDK5 development environment loaded and tested. Make sure you also download and install the JDK html documentation.

    A willingness to actively participate in group activities.

    Search     Home     WebLog     Consulting     Seminars     Calendar     Books     CD-ROMS     Newsletter     About     Contact     Site Design     Server Maintenance     Powered by Zope
    ©2007 MindView, Inc.