Win a copy of Design for the Mind this week in the Design forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Learning OO Design

 
Mr. C Lamont Gilbert
Ranch Hand
Posts: 1170
Eclipse IDE Hibernate Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I have been writing Software in Java for probably 8 years now. I know all the patterns and all the ins and outs of Java. At this point I am more interested in learning how to design a program in an OO fashion.

When I look at my code it seems like sequential code, reworked into objects here and there. Its starting to chafe.


Where is a good place to start learning OO design. Seems like its tied to UML. I'd like a good book I can read over lunch or in my car, etc.

thanks!
 
Ilja Preuss
author
Sheriff
Posts: 14112
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
In that case, I'd highly recommend "Agile Software Development - Principles, Patterns and Practices" by Robert C. Martin.
 
Stan James
(instanceof Sidekick)
Ranch Hand
Posts: 8791
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Ilja and I usuall race to recommend this book. He got me by a whole day this time. It's not just a superb reference for the best OO design principles but has some eye-opening examples applying them in building complex systems from scratch.
 
Mr. C Lamont Gilbert
Ranch Hand
Posts: 1170
Eclipse IDE Hibernate Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
A recommendation by you two can't miss!
[ June 09, 2006: Message edited by: Mr. C Lamont Gilbert ]
 
Vladas Razas
Ranch Hand
Posts: 385
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
When I look at my code it seems like sequential code, reworked into objects here and there. Its starting to chafe.


I'd take a look into Martin Fowler's "Refactoring: Improving the Design of Existing Code".
 
Ilja Preuss
author
Sheriff
Posts: 14112
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Vladas Razas:

I'd take a look into Martin Fowler's "Refactoring: Improving the Design of Existing Code".


That's definitely a must-read - it's basically what I learned OOP from.

But that was before "Agile Software Development" was written, and I think it's gives better general advice. "Refactoring" would be a great follow up book.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic