Coder Social home page Coder Social logo

design-patterns-gof's Introduction

This is my implementation of the Design Patterns from the book

  'Design Patterns: Elements of Reusable Object-Oriented Software'
  Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
  ISBN 0-201-63361-2
  Copyright 1995
  21th Printing, November 2000

The webpage and official 'code' for this book were previously available from

  [1] http://st-www.cs.illinois.edu/users/patterns/DPBook/DPBook.html
  [2] http://st-www.cs.illinois.edu/patterns/dpbook/Source.html

(TODO: link [1] and [2] no longer work.  Does anybody know the new location of
 the 'official' source code for the book?)

The nice thing about the book is that it is... well... not complete :-) To come
to a complete working implementation of all the Design Patterns presented in the
book, and be able to play with them, requires some extra coding.  The goal of
this project is to actually provide the missing pieces and come to something
that will compile and run cleanly.

On the following websites, I have found some more C++ code that helped me
complete everything:

  [3] http://www.c-jump.com/CIS75/Week11/
  [4] http://www.c-jump.com/Download/Patterns/Prototype/html/
  [5] https://code.google.com/p/basic-algorithm-operations/source/browse/trunk/DP
  [6] http://dislab.hufs.ac.kr/wiki/Lecture/Design_Pattern
  [7] http://blog.csdn.net/joey_zoy/article/details/5610810
  [8] https://github.com/wangqiang8511/C---Design-Patterns-Examples/

And here are some interesting slides that give some more explanation:

  [9] http://www.cs.toronto.edu/~penny/teaching/csc407/

A more modern C++11 approach using Boost libraries was given in a talk
by Tobias Darm given here:

  http://www.infoq.com/presentations/gof-patterns-c-plus-plus-boost

An interview from 2009 with the GoF authors is given here:

  http://www.informit.com/articles/article.aspx?p=1404056

A dependency analysis and refactoring of the Gang of Four examples can
be found at

  https://github.com/zebmason/GoFRefactored/blob/master/README.md

Feel free to send me your comments, suggestions and improvements in the form
of a git pull request!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.