During the spring semester of 2001 I taught a Java EE course in Champlain college (Tel-Aviv). The course was delivered as part of their B.S.c. in computer science.
The Visitor Design Pattern
The visitor design pattern allows us to add operations to objects that already exist without modifying their classes and without extending them.