I believe most of the J2EE developers have heard of some typical
J2EE design patterns, e.g. BusinessDelegate, Data Access Object, Composite Entity, Front Controller, Application Service and many many more. Obviously, there are pros and cons with those patterns, does it really good to apply them? I always heard from coworkers saying that "I can accomplish this pretty easily, why do I need to implement it in a relatively difficult way?". As a coworker, I wouldn't be able to give him the answer or convince him with those pratices. In other hand, as a Java developer, I think I should share something with him.
Design pattern is actually a proven solution to a recurring design problem, placing particular emphasis on the context and forces surrounding the problem, and the consequences and impact of the solution
- from Sun website.
Why Use Patterns?
They have been proven. Patterns reflect the experience, knowledge and insights of developers who have successfully used these patterns in their own work.
They are reusable. Patterns provide a ready-made solution thatcan be adapted to different problems as necessary.
They are expressive. Patterns provide a common vocabulary of solutions that can express large solutions succinctly.
Again, from Sun website.
So, got me now? Of course, patterns do not guarantee success. A pattern description indicates when the pattern may be applicable, but only experience can provide understanding of when a particular pattern will improve a design.
As a conclusion, I suggest we atleast try it out.