• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Can someone recommend a good OO designed open source Java project

 
Ranch Hand
Posts: 33
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I want to learn OOAD. If someone comes cross with a well-designed Java open source project, following good OO design principles with well-designed and balanced classes, applying proper design patterns and practicing OO design heuristics, please make a recommendation. I'll appreciate it.
 
Ranch Hand
Posts: 862
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I have 2 open source projects, and both rely heavily on the Gang Of 4 design patterns. The projects are probably more "object oriented" than most though still far from perfect. One of the issues is that some of the code in the projects is 4 or 5 years old and I have learned more within that period.

The current version of jamon also has some interesting techniques using reflection, weakhashmaps, localization, and thread safety code

The links are below and the code is available at sourceforge.

For a live demo of JAMon go to

JAMon Live Demo
[ July 13, 2006: Message edited by: steve souza ]
 
Ranch Hand
Posts: 308
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
hi would start smaller.

1)first try to grasp common design patterns. for start i like 'Head First Design Patterns'.
2)than go for Refactoring, and for Refactoring to Patterns
3)go to Sourceforge and choose an active Java project, which is not too big.
4)after that apply many refactorings (with refactoring to design patterns)
5)try to introduce tests. if the application is difficult to test, it is a hint of a bad design (a design smell) => apply refactorings to make application testable and improve this way your design

by the way, don't forget: it is a big misconception that an application with millions of applied design patterns is a good one!! applying a design pattern always must have a reason.
 
author
Posts: 14112
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
JUnit is a small, very well designed open source java project.

It might also be interesting to take a look at the difference between version 3.x and 4.x - the latter started to use annotations, which allowed for rather drastic changes in the design.
 
manuel aldana
Ranch Hand
Posts: 308
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
another well designed project is Spring framework.

a very nice thing to see, is how spring framework encapsulates other apis like for instance hibernate or rmi.
 
(instanceof Sidekick)
Posts: 8791
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
FitNesse is a nicely designed system, as well. It does many of the same things as a system I wrote and I found it mind-blowingly smaller than mine.
 
Bartender
Posts: 2968
6
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi "Paul HG",

I'd like to once again remind you that your current display name does not comply with the JavaRanch Naming Policy. Please change your display name to one that complies with that policy - otherwise your account will be locked out. Your cooperation is appreciated.
[ July 19, 2006: Message edited by: Frank Carver ]
 
Ranch Hand
Posts: 1170
Hibernate Eclipse IDE Ubuntu
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
eclipse.org

There are many aspects to it and you can pick the project that deals with stuff you are most familiar with. GEF is a good one.
 
Don't get me started about those stupid light bulbs.
reply
    Bookmark Topic Watch Topic
  • New Topic