Professional PHP

PHP Programming, Web Development, PHP Advocacy and PHP Best Practices.
« Podcast interview with Andi Gutmans
Hump Day Blues »

The Evolution of Design Patterns

January 31st, 2006

Rebecca Wirfs-Brock suggests that it may be time for the GoF Design Patterns book to be refreshed. She points out that the C++ and graphics programming examples may be less relevant to today’s C# and Java programmers. She implies that state of the art has advanced in the twelve years since the book was written. She also suggests that the GoF authors may have made some of the wrong tradeoffs when they specified some of the patterns.

I know I would like to see an update to this groundbreaking work with more modern interpretations of what have become the canonical patterns.

Rebecca talks about how the interface type has come to replace the C++ abstract class. One area that I am interested in is how Duck typing may replace the interface construct in many of the classic patterns. I’m not sure that patterns intended for statically typed languages such as C++ and java necessarily have the same implementation in dynamically typed languages, such as smalltalk, Ruby and of course, PHP.

For the last few weeks, I’ve been doing an interesting educational exercise. I’ve been simultaneously reading Design Patterns, Refactoring, Refactoring to Patterns, and Agile Software Development. I’m finding the cross-referencing between each of these highly complementary books to be be educational. I’m hoping to add Design Patterns Smalltalk Companion and PHP|Architect’s Guide to PHP Design Patterns (Jason Sweat’s book) to get a more dynamic perspective in the mix. This is my reading project for the next few months.

That 10 years after first reading the Design Patterns book, i am still studying from it shows how much of a classic this book has become.

Filed Under

  • Agile Methods, PHP, Software Design

Related Posts

  • php | tek Wrapup
  • Harry Fuecks, PHP Patterns and Dynamically Typed
  • A Comparison of the PHP and Java Job Markets
  • Design Eye for the Usability Guy
  • Delicious Outage Link Dump
Both comments and pings are currently closed.

10 Responses to “The Evolution of Design Patterns”

  1. Alex Knaub says:
    1/31/2006 at 3:16 pm

    Design Patterns are workarounds for broken languages like Java and, sorry, PHP. Have a look at http://www.norvig.com/design-patterns/ppframe.htm and http://www.sitepoint.com/blogs/2006/01/16/design-patterns-in-dynamic-programming/

    In Smalltalk, Lisp, and Ruby you don’t need any Patterns, they are in the language.

    In PHP you cannot implement a Factory-Pattern (http://blog.joshuaeichorn.com/archives/2006/01/09/zactiverecord-cant-work/) you *must* use Java-like workarounds (http://www.phppatterns.com/docs/design/the_factory_method)

  2. Anon says:
    3/10/2006 at 2:39 am

    simply put you cannot change design patterns (GoF) as to do so would completely negate the knowledge that this book gives you on this subject.

    no one can fault the book, past or present so why ruin an enjoyable read?

  3. Jack Johnson says:
    4/13/2007 at 9:15 am

    I also like using php design patterns. Here is a new site, that I found: http://php-design-patterns.com

    Check it out, it may also be of interest.

  4. jessica says:
    6/27/2010 at 9:08 pm

    what have become the canonical patterns.

  5. rita says:
    6/27/2010 at 9:19 pm

    i am also studying from it shows how much of a classic

  6. Daniel Delagado says:
    10/12/2010 at 11:12 am

    It can be tricky to talk about regardless of whether this really is good, nevertheless only time will tell, as with most excellent design.

  7. uzamax says:
    3/6/2011 at 10:47 am

    %100 Do?al ve hiç bir yan etkisi olmayan Uzamax’? ke?fedin
    UZAMAX içeri?inde mineral ve vitaminler bar?nd?ran, do?al bitkielerden üretilmi? g?da deste?idir. ?çeri?inde herhangi bir kimyasal ürün bulunmamakla birlikte tamamen do?al kurutulmu? bitkisel bir kar???md?r. Sadece birkaç ayl?k kullan?m kürü sonras?nda bile uzamax’?n etkisini hissedeceksiniz.

    Uzamax kullanarak do?al yollarla bünyenize gerekli olan tüm besin, vitamin ve mineralleri vücudunuza alman?z? sa?lar.izlanda yosun hapi

  8. Judson Waack says:
    12/27/2011 at 4:19 am

    I just could not leave your web site before suggesting that I really loved the standard information an individual supply to your guests? Is gonna be again frequently to investigate cross-check new posts

  9. how many calories in a turkey sandwich says:
    3/25/2012 at 4:07 pm

    how many calories in a turkey sandwich…

    [...]The Evolution of Design Patterns – Professional PHP[...]…

  10. papers on history says:
    6/12/2012 at 5:38 am

    Check out great samples of essays on history – huge collection of papers for students.

    Subscribe Feed
    Share Subscribe to this blog…
    Share Bookmark or share this page…
  • About

    My name is Jeff Moore. I'm a PHP programmer living in San Francico and working for a startup.

    More about me…

  • Categories (Home)

    • Agile Methods (14)
    • Mac (14)
    • Misc (18)
    • Open Source (14)
    • PHP (99)
    • Software Design (29)
    • Usability (14)
    • Web Design (20)
  • Recent Comments

    • rsync to remote server via ssh  37
      Petr Halounek, Penni Tomasino, Rodney Kohnen [...]
    • WordPress BBCode Plugin  30
      wepniveth, Pamella Philipps, evakuat [...]
    • PEAR Templates  18
      Sang Bellotti, Kandice Sansing, car insurance estimates for teenagers [...]
    • Extreme Simplicity  15
      Gilbert Moatz, Roni Beauregard, Barb Geyer [...]
    • Manual Memory Management is Dead  6
      Grass Fed Filet Mignon, Kellie Carello, PAPANDOR [...]
    • Friendster wrapup: does MySQL scale  38
      Ollie Joya, nfl jersey on sale, selling scrap gold [...]
    • The Coding Apprentice  51
      fkawau, Annamae Mccane, Boca Raton Personal Injury [...]
    • The Legality of Republishing RSS Feeds  30
      dasfdsfsd, reebok authentic nfl jersey, Tory Rennemeyer [...]
    • Exceptional PHP  7
      Sports, The Click, Laraine Waterhouse [...]
    • PDO versus MDB2  42
      selling silver coins, Oliver Luongo, ddkoaorpa [...]
  • Recent Posts

    • Richard Thomas
    • ZendCon: Writing Maintainable PHP Code
    • Looking Towards the Cloud
    • Holiday Tech Support
    • Closures are coming to PHP
    • php | tek Wrapup
    • php | tek 2008
    • Sarah Snow Stever
    • Benchmarking PHP’s Magic Methods
    • The Endpoints of the Scale of Stupidity on Video
  • Site

    • Archives
    • Log in
  • Search