Forgot your password?
typodupeerror
Programming

tomhudson's Journal: "Design Patterns" == WaPOS! 16

Journal by tomhudson

I can understand people being fooled into thinking this book was good back when it first appeared over a decade ago, but now?

I do have ONE good thing to say about it http://trolltalk.com/index.php?name=News&file=article&sid=6

Seriously, don't waste your money on this book. Borrow it, read the first chapter, and give it back. Everything else is fluff.

This discussion has been archived. No new comments can be posted.

"Design Patterns" == WaPOS!

Comments Filter:
  • It's required, er, *suggested* reading for the Ph.D. qualifiers here at UVA. Or rather, it was back when I took the quals. (I assume it still is.) OTOH, I didn't read it, and I still passed the quals. :) I figure I should get around to it one of these days, even given your glowing recommendation, on the basis that I might end up teaching a course where it is typically recommended as supplemental reading.
    • by tomhudson (43916)

      A lot has changed since it was written in '94 and first published in '95. In particular, our expectations. If a book states at the outset that it is going to cover designing software using design patterns, it better be about that, and not about some post hoc "gee, look, the code we've been writing for years has these patterns in it".

      The little bit about actual "design" (Chapter 2) was not about designing software using the patterns outlined in the rest of the book; rather, it was a pretend exercise of ve

  • I have a copy sitting on the cabinet behind me...I'm a book junkie, so I have about a zillion books back there, stacked in vertical piles, and I'm also a bit disorganized so their order is best described as "Brownian", with a simple caveat: Most recently used tends to be on top, least recently used tends to be on the bottom.

    It's on the bottom. I don't think I've cracked it since college.
    • by tomhudson (43916)

      Its funny how there are some books that I will pull of the shelf for a quick refresher every few years, others that make decent references, and still others that are literally "read-once."

      Then there are books that are both great refreshers AND references. "Using Assembly Language" was the first such book. "Javascript: The Definitive Guide" "Programming Perl". The "Nutshell" books.

      It used to be that software manufacturers put out great user manuals. Borland comes to mind, with the manuals that came with

  • The GoF book is definitely archaic and difficult to read, but the actual patterns are definitely worth knowing. Plus there are better written pattern books that include modern patterns, too [amazon.com]. That book is a definite must for a Java developer, IMHO (You'll even see my review on there).

    What do you think of the "Refactoring" type books??
    • by tomhudson (43916)

      I didn't find the book hard to read so much as boring ... it was a definite "lunch-bag letdown." Especially when you consider that I bought it at retail, instead of off the net, so I paid almost full price. What mitigates this is that I also picked up the TR1 reference, which, so far, is much more interesting.

      There's a huge difference in the mindset required for c++ and java, and one of the things I sort of had floating around in the back of my mind is that java programmers would probably like the "patte

      • by johndiii (229824) *
        I like C++ Templates: The Complete Guide as a reference for templates. I also like Scott Meyers' Effective STL. Alexandrecu's Modern C++ Design is a fun exercise, but I have not had the opportunity to apply much of it. A really interesting look at what you can do with templates, carried to the extreme. I've been told that C++ Template Metaprogramming, written by a couple of the Boost library developers, is very good but I have not gotten my hands on a copy myself.
        • by tomhudson (43916)

          Thanks for the suggestions. Your first one is already on my "possible/probable" list.

          The metaprogramming book sounds interesting. I tried out a template metaprogram to compute factorials via templates at compile time. It was hard to believe it actually worked (you KNOW it works, but you don't SEE it wok), so I assigned the result to an unsigned 64-bit integer, and told it to make a BIG one ... getting a compile-time overflow error on the (iirc) 23rd iteration proves it.

          Knowing that the people who wrote

        • C++ Template Metaprogramming is one of those mind-benders that is really a fine jest, observed from a distance. What a counter-intuitive result: after preaching the OO gospel, then discovering functional programming under the code name 'generic programming', our intrepid vagabonds figure out that a truly eye-rending syntax can be made to operate as a compile-time functional scripting tool.
          Of course, I like to knit and crochet within the same project, so this sort of kink appeals to me.
          As for the GoF book
          • by tomhudson (43916)

            "You may not be a fan of the King James Version, either, one presumes. ;)"

            Are you kidding? The archaisms there give opportunity to myriad puns.

            Q. Who was the smallest man in the Bible?
            A. Peter. He was so small, he slept on his watch.

            Q. What is the biblical way to dump a guy?
            A. I would not have you, ignorant brethren. (1 Cir 10.1)

            Q. Who drove the first motorcycle?
            A. The sound of David's triumph was heard throughout the land.

            Q. Where was the first tennis match?
            A. David served in Saul's cour

            • I always have to be careful to pronounce the second 'r' in the penultimate word of:
              "All hail the power of Jesus' Name! Let angels prostrate fall;"
              • by tomhudson (43916)

                "I always have to be careful to pronounce the second 'r' in the penultimate word of: "All hail the power of Jesus' Name! Let angels prostrate fall;"

                That's what happens when you try to get one too many angels to dance on the head of a pin ... or is it the other end ...?

      • by plover (150551) *
        The STL book I refer to all the time is "STL Tutorial and Reference Guide: C++ Programming with the Standard Template Library" by David R. Musser, Gillmer J. Derge, and Atul Saini. The first half is a tutorial walking you through the various containers and algorithms, while the last half is a pure reference book. Every example includes code (although their funky include notation gets irritating by about the second time you see it.)

        For refactoring, the seminal title "Refactoring: Improving the Design of

        • by FortKnox (169099) *
          For refactoring, the seminal title "Refactoring: Improving the Design of Existing Code" by Martin Fowler, Kent Beck, John Brant, and William Opdyke is the first book to go to.

          That'd be my suggestion, too. I haven't read much of it (need to get through some fiction books, first), but its a must read for the architects at my company, so I need to get into it sooner rather than later...
        • by tomhudson (43916)

          Thanks for the list of books.

          Just one quick comment about your "colonial style" example ... the people who designed the original colonial-style houses obviously didn't use a "colonial-style" design pattern, since colonial styles hadn't been invented yet.

          The book states its premise on page 2:

          The purpose of this book is to record experience in designing object-oriented software as design patterns.

          It doesn't deliver on that core promise. Sure, it lists various "patterns" that have emerged over time, but

          • by plover (150551) *
            Caution: I think Pattern Hatching is overpriced at retail. Find a cheap copy on line, or borrow a copy from a friend (sorry, mine is currently loaned out to a manager who asked me about design patterns.) Half.com has one listed for US$16 here: http://product.half.ebay.com/_W0QQprZ215374QQcpid Z 283514 [ebay.com]

            Regarding where design patterns fit in the design process, they kind of come in at two levels. I don't see design as some sort of a jigsaw puzzle requiring patterns to be "fit in". It's not like every pr

Swap read error. You lose your mind.

Working...