Design Patterns in Java

What are the design patterns in Java?

In j2ee they have 15 Design Pattern:

Presentation Tier:
1.Intercepting Filter
2. Front Controller
3. View Helper
4. Composite View
5. Service to Worker
6. Dispatcher View

Business Tier:
7. Business Delegate
8. Transfer Object
9. Session Facade
10. Service Locator
11. Transfer Object
12. Value List Handler
13. Composite Entity

Integration Tier:
14.Service Activator
15 Data Access Object

-- R.Kumaran

Programming idioms are more language specific than design patterns. A Design pattern is a documentation of a time-tested solution which keeps cropping up every now and then within a particular context.

A Design Pattern is mostly not language specfic thought there could be a few design patterns which are language specific(I am not aware of any Java-specific design pattern). A design pattern encapsulates OO principles in a structure and if a Object-Oriented language provides support to these principles then you can use the design pattern in that language. The
structure remains the same, its the code that changes and that is language specific.

To answer exactly as to "what are the design patterns in Java" I guess I can say all design patterns which encapsulate the OO principles supported by Java can be implemented in Java and it would be useful if the problem for which that design pattern was documented does crop up in the context of using the language. As Martin fowler says "A pattern is an idea that has been useful in one practical context and will probably be useful in others."  (the context here does'nt necessarily mean a language though). Design Patterns are reusable elements of Object Oriented software not of any particular language, so just start studying about design patterns in general and u will know for urself how to use it in Java.

Good starting points:
(these are my personal opinions, I have'nt read all the books listed). Most of the material on Design patterns concentrate on the GoF(Gang of Four) patterns.

1) If you want a good description of all these patterns and if you are FAMILIAR WITH UI in Java then the book JAVA DESIGN PATTERNS by JAMES.W.COOPER is a good start.

2) The best start, I believe would be the HEAD FIRST DESIGN PATTERNS. Though the book does'nt cover all the patterns in detail it makes for a very good kickstart.  Fast and Fun read. If you are only used to terse text you may not like this cool book.

3) The mother of all: DESIGN PATTERNS by erich gama et all. This is the book which revolutionized the usage of design patterns in the software or object-oriented realm. The best, terse and simply awesome. All examples in this book are in C++ unlike the above two mentioned.

PATTERNS OF SOFTWARE ARCHITECTURE 1 and 2 are considered as major works in this field.

-- Vinay

Related:

Java Books
Java Certification, Programming, JavaBean and Object Oriented Reference Books

Return to : Java Programming Hints and Tips

All the site contents are Copyright © www.erpgreat.com and the content authors. All rights reserved.
All product names are trademarks of their respective companies.
The site www.erpgreat.com is not affiliated with or endorsed by any company listed at this site.
Every effort is made to ensure the content integrity.  Information used on this site is at your own risk.
 The content on this site may not be reproduced or redistributed without the express written permission of
www.erpgreat.com or the content authors.