?
Solved

design patterns practical uses

Posted on 2013-11-11
1
Medium Priority
?
408 Views
Last Modified: 2013-11-22
Hi,

I was going through below design pattern examples at link

http://www.avajava.com/tutorials/categories/design-patterns

are these design patterns are enough to learn

Creational Design Patterns

Singleton Pattern
Factory Pattern
Abstract Factory Pattern
Builder Pattern
Prototype Pattern
Structural Design Patterns

Adapter Pattern
Composite Pattern
Proxy Pattern
Flyweight Pattern
Facade Pattern
Bridge Pattern
Decorator Pattern
Behavioral Design Patterns

Template Method Pattern
Mediator Pattern
Chain of Responsibility Pattern
Observer Pattern
Strategy Pattern
Command Pattern
State Pattern
Visitor Pattern
Iterator Pattern
Memento Pattern




If run all these examples am I good shape with all the design patterns. In real life i do not see i am using or applying much of the design patterns myself except may be the frameworks internally using them under-hood.


Which are the most important desing patterns that i need to focous on from the above ling.

please advise
Any links resources ideas highly appreciated. Thanks in advance
0
Comment
Question by:gudii9
1 Comment
 
LVL 36

Accepted Solution

by:
mccarl earned 2000 total points
ID: 39640665
are these design patterns are enough to learn
Asking that is like me asking you, is this piece of string in my hand long enough? Enough for what? If you are asking this because you want to become a top-notch expect in the "design pattern" field then probably not, but if you are just interested in maybe improving your code slightly to be better structured and easy to understand, then maybe yes it is enough, or maybe even too much. Only you can know that!

What I would say is rather than trying to memorize every little detail about every one of those patterns, just get a very basic idea of even just the groups of patterns (not even each specific one). So that when you are coding, you may better realise that "Oh, I am creating some objects here. Maybe I can apply a 'creation' desing pattern", and you go off and have a look of a few of the creation design patterns and see which fits your needs. Yes, over time you will probably get to know some of them quite well and can just apply them as you are coding.

But as for saying which are more important than others, is not something that we can really do, as it would be entirely different for each particular person and the type of coding/design that they do. What is important to me might not be very important to you.

So yeah, all I would say is to keep writing code, and over time that experience will start to help realise where you can apply patterns and what patterns to apply. I don't believe it's something that someone can just tell you how to do.
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

By the end of 1980s, object oriented programming using languages like C++, Simula69 and ObjectPascal gained momentum. It looked like programmers finally found the perfect language. C++ successfully combined the object oriented principles of Simula w…
Introduction Java can be integrated with native programs using an interface called JNI(Java Native Interface). Native programs are programs which can directly run on the processor. JNI is simply a naming and calling convention so that the JVM (Java…
This video teaches viewers about errors in exception handling.
This tutorial explains how to use the VisualVM tool for the Java platform application. This video goes into detail on the Threads, Sampler, and Profiler tabs.
Suggested Courses
Course of the Month17 days, 11 hours left to enroll

830 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question