The professional, friendly Java community. 21,500 members and growing!

The Java Programming Forums are a community of Java programmers from all around the World. Our members have a wide range of skills and they all have one thing in common: A passion to learn and code Java. We invite beginner Java programmers right through to Java professionals to post here and share your knowledge. Become a part of the community, help others, expand your knowledge of Java and enjoy talking with like minded people. Registration is quick and best of all free. We look forward to meeting you.

Design Patterns

I am steadily trying to improve myself as person who is learning Java as a first programming language. I'm studying about problems and algorithms by practising problems on TopCoder alongside reading articles and watching videos on the topic.

Though I was wondering would it be more beneficial for me to learn Design patterns alongside or should I save this for more advanced studies.

Also is the subject of Design patterns similar to algorithms and data structures in that the principles follow in different programming languages, or do different programming languages have radically different takes on the topic.

Re: Design Patterns

There would be no much harm reading at least about basic patterns. Things like Singleton, Factory, Builder, Pool, Wrapper and Adapter are very common and you often can find them even in standard Java API.

Most of patterns do not depend on chosen language and platform. However, some languages prefer (perhaps historically) different patterns compared to others. Most common example is that in Java we often use Data Access Object as pattern for dealing with database, while in PHP, Python, Ruby and even Scala people often prefer ActiveRecord.

But of course there are a few attempts to create ActiveRecord-oriented frameworks for Java and there are DAO-like solutions for PHP etc.