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
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.
Comments
Post a Comment