GoF design patterns in Ruby
Switch branches/tags
Nothing to show
Clone or download
elissonmichael and davidgf Brazilian Portuguese Translation (#23)
* Add README Brazilian Portuguese Translation

* Add Singleton Brazilian Portuguese Translation

* Add Adapter Brazilian Portuguese Translation

* Add Builder Brazilian Portuguese Translation

* Add Strategy Brazilian Portuguese Translation

* Add Template Brazilian Portuguese Translation

* Add Proxy Brazilian Portuguese Translation

* Add Command Brazilian Portuguese Translation

* Add Composite Brazilian Portuguese Translation

* Add Decorator Brazilian Portuguese Translation

* Add Convention Over Configuration Brazilian Portuguese Translation

* Add Factory Brazilian Portuguese Translation

* Add Interpreter Brazilian Portuguese Translation

* Add DSL Brazilian Portuguese Translation

* Add Iterator Brazilian Portuguese Translation

* Add Meta Programming Brazilian Portuguese Translation

* Add Observer Brazilian Portuguese Translation
Latest commit 65f99d9 Dec 5, 2018

README.md

Design Patterns in Ruby

Summary of the design patterns explained in the book Design Patterns in Ruby, where Russ Olsen explains and adapts to Ruby 14 of the original 23 GoF design patterns.

Design Patterns

GoF Patterns

  • Adapter: helps two incompatible interfaces to work together
  • Builder: create complex objects that are hard to configure
  • Command: performs some specific task without having any information about the receiver of the request
  • Composite: builds a hierarchy of tree objects and interacts with all them the same way
  • Decorator: vary the responsibilities of an object adding some features
  • Factory: create objects without having to specify the exact class of the object that will be created
  • Interpreter: provides a specialized language to solve a well defined problem of know domain
  • Iterator: provides a way to access a collection of sub-objects without exposing the underlaying representation
  • Observer: helps building a highly integrated system, maintainable and avoids coupling between classes
  • Proxy: allows us having more control over how and when we access to a certain object
  • Singleton: have a single instance of certain class across the application
  • Strategy: varies part of an algorithm at runtime
  • Template Method: redefines certain steps of an algorithm without changing the algorithm's structure

Non-GoF Patterns: Patterns For Ruby

Contributing

Contributions are welcome! What could you do?:

  • Find typos and grammar mistakes
  • Propose a better way to explain a pattern
  • Add clearer examples of a pattern usage
  • Add other GoF patterns that are not covered in the book

Code examples refactoring PR's will not be considered. The examples provided by Russ Olsen in his book are meant to be simple and self explanatory, not the best performing or most elegant, their purpose is just educational.