Hi
I'm a relative newb to Java only 7 months experience and counting, I've noticed that in the Java Community there is a common theory that if your going to do things you should do them right.
Well I'm trying to perfect my coding style and the way I go about designing a project. I'm looking for tips on how to design a system, object models etc. I normally just design the database and then create everything around that, but apparently this isnt good object orientated design. Since I've never been taught this, I was tought the old fashioned method of functions. I need to learn it. Can anyone point in the direction of some nice website reading, or what topics to read up on.
Thanks
Andy
-
Design Tips (4 messages)
- Posted by: Andrew Stewart
- Posted on: July 18 2003 06:50 EDT
Threaded Messages (4)
- Design Tips by Paul Strack on July 18 2003 09:40 EDT
- Design Tips by Mike Pettit on July 18 2003 11:28 EDT
- Design Tips by Preeti Ramesh on July 18 2003 12:27 EDT
- Design Tips by Nalla Senthilnathan on August 04 2003 16:17 EDT
-
Design Tips[ Go to top ]
- Posted by: Paul Strack
- Posted on: July 18 2003 09:40 EDT
- in response to Andrew Stewart
My favorite design books:
Fundamentals of Object-Oriented Design in UML by Meiler Page-Jones: A good introduction.
Object-Oriented Software Construction by Betrand Meyer: Not for the faint of heart, advanced and dry, but very good.
Design Patterns by Gamma, Helm, Johnson, Vlissides (the "Gang of Four"): The OO Design Patterns classic.
Patterns of Enterprise Application Architecture by Martin Fowler: Good overview of modern enterprise development patterns.
But, the best teacher is experience. Look at a lot of other peoples code (open source is a good place to look) and write of lot of your own.
Don't be afraid of getting things wrong. You will anyway, so there is no point fretting. One of the big advantages of OO is that it makes it easier to fix *existing* applications. To that end, I want to add one more book:
Refactoring: Improving the Design of Existing Code by Martin Fowler -
Design Tips[ Go to top ]
- Posted by: Mike Pettit
- Posted on: July 18 2003 11:28 EDT
- in response to Andrew Stewart
I have to agree with the above. For a modern J2EE system, Fowlers book has some great insights and is also footnoted very well to point you to more resources.
As far as perfecting your Java skillz "Effective Java" by Bloch and also one called "Practical Java" are good.
This is a great site as are:
servlets.com
onjava.com
javaranch.com
Sun also has some of the JavaOne presentations available on their site - There are a few case studies in there that outline some of the challenges and architectures used.
Also look into attending your local Java Users Group.
Good Luck! -
Design Tips[ Go to top ]
- Posted by: Preeti Ramesh
- Posted on: July 18 2003 12:27 EDT
- in response to Andrew Stewart
All of the books mentioned by the others are real gems.
All the information can get overwhelming tho.. so the best way initially is IMHO to get an app (i used Java PetStore) and analyze the design thoroughly.
See the flow and think of how you would do it normally, and then study how it has been implemented.. the obvious flaws in your *old* ;) functional design will be obvious to you.
Try and find someone in your company to act as your mentor - invaluable!
best of luck :) -
Design Tips[ Go to top ]
- Posted by: Nalla Senthilnathan
- Posted on: August 04 2003 16:17 EDT
- in response to Andrew Stewart