This discussion is archived
7 Replies Latest reply: Jul 6, 2010 7:46 AM by 800387 RSS

Looking for a good book on OOD

800387 Newbie
Currently Being Moderated
I recently read [Holub on Patterns|http://www.amazon.com/Holub-Patterns-Learning-Design-Looking/dp/159059388X/ref=sr_1_1?ie=UTF8&s=books&qid=1277921052&sr=8-1] and loved it. [Object Design Roles Responsibilities and Collaborators|http://www.amazon.com/Object-Design-Roles-Responsibilities-Collaborations/dp/0201379430/ref=pd_sim_b_3] by Wirth was a bit of a disappointment.

Doing a bit of searching on Amazon, I found a few others, and wondered if anyone had read these books and had some opinions, and if I missed something I should pick up. I am not looking for yet another pattern book, but more something with both theory and practice for OOD. Thanks!

[Object Oriented Design Heuristics|http://www.amazon.com/Object-Oriented-Design-Heuristics-Arthur-Riel/dp/020163385X/ref=wl_it_dp_o?ie=UTF8&coliid=I2405B5RQ0SAD1&colid=BK74DQX2HF6F] by Riel

[Object Oriented Analysis and Design with Applications|http://www.amazon.com/Object-Oriented-Analysis-Design-Applications-3rd/dp/020189551X/ref=wl_it_dp_o?ie=UTF8&coliid=I36I8TDANFZ3HY&colid=BK74DQX2HF6F] by Booch

- Saish
  • 1. Re: Looking for a good book on OOD
    jwenting Journeyer
    Currently Being Moderated
    Never read a book by Holub that was worth the paper it was printed on.

    I've found the Head First series of books to be pretty good, as well as the courseware for Sun's OO-226 course.
  • 2. Re: Looking for a good book on OOD
    800387 Newbie
    Currently Being Moderated
    jwenting wrote:
    Never read a book by Holub that was worth the paper it was printed on.
    He's definitely controversial, and I certainly did not agree with all his points, but much like [The Pragmatic Programmer|http://www.amazon.com/Pragmatic-Programmer-Journeyman-Master/dp/020161622X/ref=sr_1_1?ie=UTF8&s=books&qid=1277990159&sr=8-1], it made me at least think and question my assumptions.
    I've found the Head First series of books to be pretty good, as well as the courseware for Sun's OO-226 course.
    Thanks. Will definitely check those out.

    - Saish
  • 3. Re: Looking for a good book on OOD
    843853 Newbie
    Currently Being Moderated
    Can't go wrong here:

    [http://www.amazon.com/Software-Development-Principles-Patterns-Practices/dp/0135974445]

    I also highly recommend:

    [http://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882]
    [http://www.amazon.com/Working-Effectively-Legacy-Michael-Feathers/dp/0131177052]

    ~
  • 4. Re: Looking for a good book on OOD
    800387 Newbie
    Currently Being Moderated
    yawmark wrote:
    Can't go wrong here:

    [http://www.amazon.com/Software-Development-Principles-Patterns-Practices/dp/0135974445]
    Interesting. I did not look at that one, since the main title only referred to Agile. Based on the reviews (and your recommendation) will add to my wish list.
    I also highly recommend:

    [http://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882]
    A number of coworkers have recommended that one as well. Luckily, so many folks seem to have it, I may be able to simply borrow it.
    [http://www.amazon.com/Working-Effectively-Legacy-Michael-Feathers/dp/0131177052]
    Ouch. That feels like it may describe the last decade of my life! Will add that one as well.
    ~
    Thanks Yawmark. Much obliged.

    - Saish
  • 5. Re: Looking for a good book on OOD
    jwenting Journeyer
    Currently Being Moderated
    Saish wrote:
    jwenting wrote:
    Never read a book by Holub that was worth the paper it was printed on.
    He's definitely controversial, and I certainly did not agree with all his points, but much like [The Pragmatic Programmer|http://www.amazon.com/Pragmatic-Programmer-Journeyman-Master/dp/020161622X/ref=sr_1_1?ie=UTF8&s=books&qid=1277990159&sr=8-1], it made me at least think and question my assumptions.
    My main exposure to his writings is his book on multithreading in Java, in which he completely abandons the Java multithreading support and sets out to write a C style multithreading library on top of Java as a "superior" alternative.
    It made nice kindling for the bbq.
  • 6. Re: Looking for a good book on OOD
    800387 Newbie
    Currently Being Moderated
    jwenting wrote:
    Saish wrote:
    jwenting wrote:
    Never read a book by Holub that was worth the paper it was printed on.
    He's definitely controversial, and I certainly did not agree with all his points, but much like [The Pragmatic Programmer|http://www.amazon.com/Pragmatic-Programmer-Journeyman-Master/dp/020161622X/ref=sr_1_1?ie=UTF8&s=books&qid=1277990159&sr=8-1], it made me at least think and question my assumptions.
    My main exposure to his writings is his book on multithreading in Java, in which he completely abandons the Java multithreading support and sets out to write a C style multithreading library on top of Java as a "superior" alternative.
    It made nice kindling for the bbq.
    I guess that beats using a chimney starter. :^)

    Let me know what you think of the following, which is pretty much most of the first chapter of his book [Why getters and setters are evil|http://www.javaworld.com/javaworld/jw-09-2003/jw-0905-toolbox.html]. Like all the discussion of avoiding side-effects when writing functional code, some getters and setters are needed in some places. But by and large, that article, and other portions of the first two chapters of his book, really helped me understand encapsulation better.

    - Saish
  • 7. Holub's "Taming Java Threads"
    782681 Newbie
    Currently Being Moderated
    jwenting wrote:
    Saish wrote:
    jwenting wrote:
    Never read a book by Holub that was worth the paper it was printed on.
    He's definitely controversial, and I certainly did not agree with all his points, but much like [The Pragmatic Programmer|http://www.amazon.com/Pragmatic-Programmer-Journeyman-Master/dp/020161622X/ref=sr_1_1?ie=UTF8&s=books&qid=1277990159&sr=8-1], it made me at least think and question my assumptions.
    My main exposure to his writings is his book on multithreading in Java, in which he completely abandons the Java multithreading support and sets out to write a C style multithreading library on top of Java as a "superior" alternative.
    do you mean his [Taming Java Threads|http://www.holub.com/training/java.threads.html|book]?
    "...Java's threading model is primitive at best and full of flaws that render it difficult to use in real programs. Moreover, Java threads are the one part of the language that are platform dependant, so writing a platform-independent threaded program requires some knowledge of how threads are implemented in various underlying operating systems The situation is made worse by the fact that multithreaded programming is inherently difficult, even for programmers with considerable threading experience. Finally, Java's threading model is not at all object oriented..."
    well to me above statements appear... correct, although terribly outdated

    Thing is, the book is published in 2000, ie long before [Java Memory Model|http://www.jcp.org/en/jsr/detail?id=133] and [concurrency utilities|http://www.jcp.org/en/jsr/detail?id=166]
    It made nice kindling for the bbq.
    ["Didn't you know that manuscripts don't burn?"|http://en.wikipedia.org/wiki/The_Master_and_Margarita#Themes_and_imagery|quote] :)