tags:

views:

122

answers:

4

Which is your top 3 open-source APIs (in Java) you recommend as an example of well-designed piece of art? That would be code that you had pleasure to browse through and got some insights from it. Any problem domain acceptable.

Emphasis here is on educational/study quality of code, complexity level - intermediate to top.

Thanks a lot for responses.

+5  A: 

1.Spring 2.Hibernate

StudiousJoseph
thanks for comment. Rod Johnson made a good start :) for Spring. Regarding the Hibernate, I had some experience in digging into it.
Max
+ Apache Software Foundation and Eclipse Foundation Projects
bobah
+3  A: 
  • Spring - it's a very well written and designed framework. It's a hell of a big bit of software but if want an example of how to build in a modular manner you can't go to fair wrong looking at the spring code base
Gareth Davis
+5  A: 

I think that google collections is a great place to start. Josh Bloch advised the development of a lot of it, and it's a very well done API. While Spring is great, it's a little hard to know where to start. A good introduction to google collections is "coding in the small with google collections" (I can't post the actual link because of stackoverflow spam filter).

Paul Sanwald
Thanks for pointing it. I'm greedily seeking all of stuff from Josh :). I saw few videos of him on API design. One of the things he mentioned was also concurrency stuff appeared in 5th SDK.
Max
+1 for google collections. really gud to starts with
TuxGeek
one more -> http://code.google.com/p/guava-libraries/
TuxGeek
@TiNS, @Paul: I heard a rumour that that some staff of Josh developed in Google might have been proposed as part of future SDK? I'm I wrong?
Max
A: 

The sources of the java libraries are well documented.

In my experience the most valuable works include the documentation of desgin decisions, if you see a nice API it would be very interessting what could be the alternatives to that. Unfortunatly this is mostly burried mailing-lists of a project.

stacker
@stacker: Hi. My experience shows that only particular java packages are worth of attention. There is really nightmarish stuff at some of SDK places.
Max
@Max even if I've been downvoted, seeing art will not necessarily make an artist out of you, only experience and talent does. So you have the skill to evaluate good software, every body likes the features of JIT have look on it's sources, this will be an advanced nigthmare to you.
stacker
@stacker: (it wasn't me to downvote, my aim here not to downvote, but explore other peoples' opinion. cheers for answer)
Max
@stacker: Seeing code art, analyzing and experimenting with it do make you a code artist. Proven in practice.
Max