I am new to OOAD and want to know what is the best way i can start learning. I am pretty comfortable with languages like java and C++ but have been doing programming more or less in the C style.Some how i am not too comfortable with real OOP and design for a given problem.I recently cleared SCJP and now wish to appear for IBM 486 test i think preparing for this test will serve as a vehicle for learning OOAD what do you guys have to say about it ?
For myself, the eureka moment when I finally understood OOAD in its most rawest form was when I worked on a project using predominantly agile methods like use cases and CRC cards. Use cases are superb for estimating development cost, priorities and test cases. CRC cards provided a simulation environment for developers to see how objects interact with each of them. Both of these "lightweight methodologies" deal with analysis and a little of design. Mapping these artifacts to Java is a different beast altogether - you'll need to master the language intricacies and be able to apply design patterns where there's a fit. Pho
Well, I'm not sure cramming for a test is the best way to learn anything but at least the recommended books for the IBM design test will give you something to chew on. In particular, I'd recommend you start with Martin Fowler's "UML Distilled". It's a very easy read on how the diagrams in UML work. However, if you've never been exposed to ANY OO Design at all, the book to start with would be Rebecca Wirfs-Brock's "Designing Object Oriented Software". That will teach you the basics of CRC cards and some good starter principles for learning OO design. However, the way to learn this stuff is to do it. Find a buddy and work through a project. Even better -- find a mentor to help you out. That's the only way you'll ever really grasp how OOA&D works. ------------------ Kyle Brown, Author of Enterprise Java (tm) Programming with IBM Websphere [This message has been edited by Kyle Brown (edited October 02, 2001).]
Another excellent book to learn OO from, that is pointed to Java is "Beginning Java Objects" by Jacquie Barker and published by Wrox books. It's rating from 40 different reviews on Amazon is still a solid 5 stars. The subtitle of the book is "From Concepts To Code" and it does just that. The author starts off with the basics of OOAD, from writing case studies, to creating Cards, and UML Diagrams all the way to coding the application. You stick with one application through the book which helps to elucidate the concepts she's explaining.
Originally posted by Shrirang Khare: I am new to OOAD and want to know what is the best way i can start learning. I am pretty comfortable with languages like java and C++ but have been doing programming more or less in the C style.Some how i am not too comfortable with real OOP and design for a given problem.I recently cleared SCJP and now wish to appear for IBM 486 test i think preparing for this test will serve as a vehicle for learning OOAD what do you guys have to say about it ?
I just posted this elsewhere on the site and thought it'd be of interest to you: Forgot to mention one of my favorite books that I haven't seen posted here. It's Peter Coad's Java Design. This is a must read, in my opinion, for all java developers. It's the best design book i've seen anywhere, but is, of course, only useful for java developers. He doesn't talk about patterns in the book, but he uses their principles. I buy a copy for each of my new employees (along with a copy of my own book of course Actually, while I'm at it (I can anticipate the question now i'll list some of my favorite books: UML Distilled XP Explained Refactoring
Alan Shalloway.<BR>Look for Jim Trott and my book: <A HREF="http://www.amazon.com/exec/obidos/ASIN/0201715945/ref=ase_electricporkchop/103-0514572-3811868" TARGET=_blank rel="nofollow">Design Patterns Explained</A><BR>Visit our site <A HREF="http://www.netobjectives.com" TARGET=_blank rel="nofollow">Net Objectives</A>.<BR>Visit our <A HREF="http://www.netobjectives.com/dpexplained/index.html" TARGET=_blank rel="nofollow">Design Patterns Explained Community of Practice</A><BR>Check out our <A HREF="http://www.netobjectives.com/xml/xml_cdrom_info.htm" TARGET=_blank rel="nofollow">CDROM based audio training in XML</A>
i second the earlier recommendation for Beginning Java Objects: From Concepts to Code - Jacquie Barker (Wrox Press ISBN 1-861004-17-6) the perfect book if you are new to ooad. trust me. you will not regret buying this book.