7 Replies Latest reply: Jul 6, 2010 9:46 AM by 800387 RSS

    Looking for a good book on OOD

    800387
      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
          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
            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
              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
                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
                  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
                    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
                      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] :)