Technical Program
Educators' Symposium
Doctoral Symposium
Student Research

Student Volunteers
Special Events
Housing Information
Registration Information

Thursday, 7 November – 13:30-17:00 Afternoon – Convention Ctr - Room 601

49 How to Use Design Patterns In Java and .NET

James Cooper
IBM T. J. Watson Research Center, jwcnmr@watson.ibm.com

Design patterns are a part of the toolbox of the practical application programmer. While at first, some programmers felt them more abstractions than tools, patterns are in fact ideal for writing good object-oriented programs in highly object-oriented languages such as Java, C# and VB.Net. In fact, these approaches provide a way for classes to communicate without becoming entangled. This tutorial will outline the OO approaches you can use in all 3 languages, thus bridging the gap between Java and C# programming, and will indicate some of the major language similarities and differences. We will then illustrate a number of common design patterns by developing several easy to grasp visual programs in Java and .NET. We will provide simple examples of at least the Command, Mediator, Iterator, Adapter, Bridge, Observer, Template, Factory method and Abstract Factory patterns. We'll also show how to use the Façade pattern to simplify database access. In each case, we will build a working, visual program in at least 2 of the 3 languages, and discuss its advantages and pitfalls. Examples of all patterns in all 3 languages will be available on a CD-ROM.

Attendee background

Attendees should be familiar with programming at an intermediate level in Java, C# or VB.Net, and should be comfortable with basic concepts of classes and objects, interfaces and inheritance. They do not need to have any prior knowledge of Design Patterns.


Lecture with examples of running programs. Ample time for question and answers will be provided and if we can make CDs of code available to attendees in advance, they are welcome to run the samples on their own systems and ask questions as time permits.


James Cooper is a researcher at IBM T J Watson Research, in unstructured information management and retrieval. He is the author of 15 books, including Java Design Patterns: A Tutorial, Visual Basic Design Patterns (VB6 and VB.Net) and Design Patterns in C#, all from Addison-Wesley. He is also a columnist for JavaPro magazine, where he frequently discusses design patterns. He has presented over 30 lectures and tutorials on Design Patterns in Java at JavaONE, JavaEdge, SIGS Java conferences and the Java Software Summit, and at various colleges. He has published extensively in the field of information retrieval, and holds a number of patents.