This repository is my personal attempt to implement all 23 Design Patterns, introduced in the famous book 'Design Patterns: Elements of Reusable Object-Oriented Software' written by, as they called 'Gang Of Four' - Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, using the Ruby programming language features. Each example is heavily commented and I've tried to come up with the interesting and unique application area for every pattern, so to be interesting for a reader.
Each pattern implementation is separated on files, where every file is named in a manner the structural elements of pattern are named in the book.
The main file, which experiements with the implementation is called implementation.rb, so to run it, just execute ruby implementation.rb
in your terminal inside the pattern directory which you are interested in.
Many implementations are interactive, other just outputs the resulting data, so, please, read the source code before running.
All patterns and their implementations are detailed in the Wiki section of this repository, so... please visit, if you're not very familiar with design patterns or just interested in my understanding of them.
If you have any comments, or suggestions, please mail me: cyrilvixp@gmail.com or use the mechanisms of Forks & Pull Requests. Thank you! ;)